FIX: Member's trigger problem

This commit is contained in:
KreizIT 2014-07-03 15:09:46 +02:00
parent 174edb6140
commit 685b7b23ad
2 changed files with 34 additions and 42 deletions

View File

@ -12,6 +12,7 @@ For users:
- Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action - Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action
- Fix: [ bug #1470, #1472, #1473] User trigger problem - Fix: [ bug #1470, #1472, #1473] User trigger problem
- Fix: [ bug #1489, #1491 ] Intervention trigger problem - Fix: [ bug #1489, #1491 ] Intervention trigger problem
- Fix: [ bug #1492, #1493 ] Member trigger problem
For translators: For translators:
- Update language files. - Update language files.

View File

@ -347,12 +347,10 @@ class Adherent extends CommonObject
if (! $notrigger) if (! $notrigger)
{ {
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_CREATE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('MEMBER_CREATE',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
} }
if (count($this->errors)) if (count($this->errors))
@ -599,12 +597,10 @@ class Adherent extends CommonObject
if (! $error && ! $notrigger) if (! $error && ! $notrigger)
{ {
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_MODIFY',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('MEMBER_MODIFY',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
} }
} }
@ -782,12 +778,10 @@ class Adherent extends CommonObject
if (! $error) if (! $error)
{ {
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_DELETE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('MEMBER_DELETE',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) {$error++; $this->errors=$interface->errors;}
// Fin appel triggers
} }
@ -841,6 +835,8 @@ class Adherent extends CommonObject
$password_indatabase = $password; $password_indatabase = $password;
} }
$this->db->begin();
// Mise a jour // Mise a jour
$sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET pass = '".$this->db->escape($password_indatabase)."'"; $sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET pass = '".$this->db->escape($password_indatabase)."'";
$sql.= " WHERE rowid = ".$this->id; $sql.= " WHERE rowid = ".$this->id;
@ -885,23 +881,24 @@ class Adherent extends CommonObject
if (! $error && ! $notrigger) if (! $error && ! $notrigger)
{ {
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_NEW_PASSWORD',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; $this->db->rollback(); return -1; }
$result=$interface->run_triggers('MEMBER_NEW_PASSWORD',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
} }
$this->db->commit();
return $this->pass; return $this->pass;
} }
else else
{ {
$this->db->rollback();
return 0; return 0;
} }
} }
else else
{ {
$this->db->rollback();
dol_print_error($this->db); dol_print_error($this->db);
return -1; return -1;
} }
@ -1301,12 +1298,10 @@ class Adherent extends CommonObject
$this->last_subscription_date_start=$date; $this->last_subscription_date_start=$date;
$this->last_subscription_date_end=$datefin; $this->last_subscription_date_end=$datefin;
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_SUBSCRIPTION',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('MEMBER_SUBSCRIPTION',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
} }
if (! $error) if (! $error)
@ -1362,12 +1357,10 @@ class Adherent extends CommonObject
{ {
$this->statut=1; $this->statut=1;
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_VALIDATE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; $this->db->rollback(); return -1; }
$result=$interface->run_triggers('MEMBER_VALIDATE',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
$this->db->commit(); $this->db->commit();
return 1; return 1;
@ -1412,12 +1405,10 @@ class Adherent extends CommonObject
{ {
$this->statut=0; $this->statut=0;
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $result=$this->call_trigger('MEMBER_RESILIATE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; $this->db->rollback(); return -1; }
$result=$interface->run_triggers('MEMBER_RESILIATE',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
$this->db->commit(); $this->db->commit();
return 1; return 1;