Parcourir la source

Merge pull request #10398 from atm-john/fix_trigger

Fix missing trigger
Laurent Destailleur il y a 6 ans
Parent
commit
231395dab8
1 fichiers modifiés avec 32 ajouts et 7 suppressions
  1. 32 7
      htdocs/compta/sociales/class/chargesociales.class.php

+ 32 - 7
htdocs/compta/sociales/class/chargesociales.class.php

@@ -278,10 +278,12 @@ class ChargeSociales extends CommonObject
      *      Met a jour une charge sociale
      *
      *      @param	User	$user   Utilisateur qui modifie
+     *      @param  int		$notrigger	    0=launch triggers after, 1=disable triggers
      *      @return int     		<0 si erreur, >0 si ok
      */
-    function update($user)
+    function update($user,$notrigger=0)
     {
+        $error=0;
         $this->db->begin();
 
         $sql = "UPDATE ".MAIN_DB_PREFIX."chargesociales";
@@ -295,17 +297,40 @@ class ChargeSociales extends CommonObject
 
         dol_syslog(get_class($this)."::update", LOG_DEBUG);
         $resql=$this->db->query($sql);
-        if ($resql)
+        
+        if (! $resql) {
+            $error++; $this->errors[]="Error ".$this->db->lasterror();
+        }
+        
+        if (! $error)
         {
-            $this->db->commit();
-            return 1;
+            if (! $notrigger)
+            {
+                // Call trigger
+                $result=$this->call_trigger('SOCIALCHARGES_MODIFY',$user);
+                if ($result < 0) $error++;
+                // End call triggers
+            }
         }
-        else
+        
+        // Commit or rollback
+        if ($error)
         {
-            $this->error=$this->db->error();
+            foreach($this->errors as $errmsg)
+            {
+                dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
+                $this->error.=($this->error?', '.$errmsg:$errmsg);
+            }
             $this->db->rollback();
-            return -1;
+            return -1*$error;
+        }
+        else
+        {
+            $this->db->commit();
+            return 1;
         }
+        
+        
     }
 
     /**