Fix: [ bug #1498, #1499 ] Shipment/Delivery triggers problem

This commit is contained in:
KreizIT 2014-07-04 15:33:16 +02:00
parent fc6382ea7e
commit 1ded34aa97
4 changed files with 54 additions and 57 deletions

View File

@ -19,7 +19,7 @@ For users:
- Fix: [ bug #1502 ] DON_CREATE trigger does not intercept trigger action - Fix: [ bug #1502 ] DON_CREATE trigger does not intercept trigger action
- Fix: [ bug #1505, #1504] Project trigger problem - Fix: [ bug #1505, #1504] Project trigger problem
- Fix: [ bug #1463, #1464 ] Proposal triggers problem - Fix: [ bug #1463, #1464 ] Proposal triggers problem
- Fix: [ bug #1498, #1499 ] Shipment/Delivery triggers problem
For translators: For translators:
- Update language files. - Update language files.

View File

@ -275,12 +275,10 @@ class Expedition 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('SHIPPING_CREATE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('SHIPPING_CREATE',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
if (! $error) if (! $error)
{ {
@ -656,12 +654,10 @@ class Expedition 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('SHIPPING_VALIDATE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('SHIPPING_VALIDATE',$this,$user,$langs,$conf); // End call triggers
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// Fin appel triggers
} }
if (! $error) if (! $error)
@ -867,11 +863,9 @@ class Expedition extends CommonObject
{ {
if (! $notrigger) if (! $notrigger)
{ {
// Call triggers // Call trigger
include_once DOL_DOCUMENT_ROOT.'/core/class/interfaces.class.php'; $result=$this->call_trigger('SHIPPING_MODIFY',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('SHIPPING_MODIFY',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// End call triggers // End call triggers
} }
} }
@ -982,11 +976,9 @@ class Expedition extends CommonObject
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
// Call triggers // Call trigger
include_once DOL_DOCUMENT_ROOT.'/core/class/interfaces.class.php'; $result=$this->call_trigger('SHIPPING_DELETE',$user);
$interface=new Interfaces($this->db); if ($result < 0) { $error++; }
$result=$interface->run_triggers('SHIPPING_DELETE',$this,$user,$langs,$conf);
if ($result < 0) { $error++; $this->errors=$interface->errors; }
// End call triggers // End call triggers
if (! $error) if (! $error)

View File

@ -242,6 +242,13 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->exped
$result = $object->valid($user); $result = $object->valid($user);
if ($result < 0)
{
$langs->load("errors");
setEventMessage($langs->trans($object->error),'errors');
}
else
{
// Define output language // Define output language
$outputlangs = $langs; $outputlangs = $langs;
$newlang=''; $newlang='';
@ -263,6 +270,7 @@ else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->exped
exit; exit;
} }
} }
}
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer) else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->expedition->supprimer)
{ {

View File

@ -446,15 +446,12 @@ class Livraison extends CommonObject
return -1; return -1;
} }
// Appel des triggers // Call trigger
include_once DOL_DOCUMENT_ROOT.'/core/class/interfaces.class.php'; $result=$this->call_trigger('DELIVERY_VALIDATE',$user);
$interface = new Interfaces($this->db); // End call triggers
$result = $interface->run_triggers('DELIVERY_VALIDATE', $this, $user, $langs, $conf);
// Fin appel triggers
if ($result < 0) if ($result < 0)
{ {
$this->db->rollback(); $this->db->rollback();
$this->error = $interface->errors;
dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR);
return -1; return -1;
} }
@ -604,12 +601,12 @@ class Livraison extends CommonObject
} }
} }
// Call triggers // Call trigger
include_once DOL_DOCUMENT_ROOT.'/core/class/interfaces.class.php'; $result=$this->call_trigger('DELIVERY_DELETE',$user);
$interface=new Interfaces($this->db); if ($result < 0)
$result=$interface->run_triggers('DELIVERY_DELETE',$this,$user,$langs,$conf); {
if ($result < 0) { $this->db->rollback();
$error++; $this->errors=$interface->errors; return -4;
} }
// End call triggers // End call triggers