correction : delete trigger must be called before the delete of object

This commit is contained in:
geoffrey.girard 2014-02-05 09:19:14 +01:00
parent 676101b02f
commit c7f8699973
2 changed files with 22 additions and 20 deletions

View File

@ -1398,17 +1398,17 @@ class CommandeFournisseur extends CommonOrder
* @param int $idligne Id of line to delete
* @return 0 if Ok, <0 ik Ko
*/
function deleteline($idligne)
function deleteline($idligne, $notrigger=0)
{
if ($this->statut == 0)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idligne;
$resql=$this->db->query($sql);
dol_syslog(get_class($this)."::deleteline sql=".$sql);
if ($resql)
{
// Appel des triggers
dol_syslog(get_class($this)."::deleteline sql=".$sql);
if(!$notrigger && $resql){
// Appel des triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$result = 0;
$interface=new Interfaces($this->db);
@ -1417,7 +1417,10 @@ class CommandeFournisseur extends CommonOrder
$error++; $this->errors=$interface->errors;
}
// Fin appel triggers
}
if ($resql)
{
$result=$this->update_price();
return 0;
}

View File

@ -1258,6 +1258,18 @@ class FactureFournisseur extends CommonInvoice
$error=0;
$this->db->begin();
if (! $error && ! $notrigger)
{
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEBILL_SUPPLIER_DELETE',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
}
// Fin appel triggers
}
if (! $error)
{
@ -1273,19 +1285,6 @@ class FactureFournisseur extends CommonInvoice
dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR);
}
}
if (! $error && ! $notrigger)
{
// Appel des triggers
include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php");
$interface=new Interfaces($this->db);
$result=$interface->run_triggers('LINEBILL_SUPPLIER_DELETE',$this,$user,$langs,$conf);
if ($result < 0) {
$error++; $this->errors=$interface->errors;
}
// Fin appel triggers
}
if (! $error)
{