|
@@ -278,10 +278,12 @@ class ChargeSociales extends CommonObject
|
|
* Met a jour une charge sociale
|
|
* Met a jour une charge sociale
|
|
*
|
|
*
|
|
* @param User $user Utilisateur qui modifie
|
|
* @param User $user Utilisateur qui modifie
|
|
|
|
+ * @param int $notrigger 0=launch triggers after, 1=disable triggers
|
|
* @return int <0 si erreur, >0 si ok
|
|
* @return int <0 si erreur, >0 si ok
|
|
*/
|
|
*/
|
|
- function update($user)
|
|
|
|
|
|
+ function update($user,$notrigger=0)
|
|
{
|
|
{
|
|
|
|
+ $error=0;
|
|
$this->db->begin();
|
|
$this->db->begin();
|
|
|
|
|
|
$sql = "UPDATE ".MAIN_DB_PREFIX."chargesociales";
|
|
$sql = "UPDATE ".MAIN_DB_PREFIX."chargesociales";
|
|
@@ -295,17 +297,40 @@ class ChargeSociales extends CommonObject
|
|
|
|
|
|
dol_syslog(get_class($this)."::update", LOG_DEBUG);
|
|
dol_syslog(get_class($this)."::update", LOG_DEBUG);
|
|
$resql=$this->db->query($sql);
|
|
$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();
|
|
$this->db->rollback();
|
|
- return -1;
|
|
|
|
|
|
+ return -1*$error;
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ $this->db->commit();
|
|
|
|
+ return 1;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|