diff --git a/ChangeLog b/ChangeLog index bf5b4e2304471..4a745ca0e9fbb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -43,7 +43,7 @@ For developers: - New: Add trigger DON_UPDATE, DON_DELETE - New: Add country iso code on 3 chars into table of countries. - Qual: Removed hard coded rowid into data init of table llx_c_action_trigger. -- LINEBILL_DELETE, LINK_DELETE, ORDER_SUPPLIER_DELETE trigger called before SQL delete +- LINEBILL_DELETE, LINK_DELETE, ORDER_SUPPLIER_DELETE, RESOURCE_DELETE trigger called before SQL delete WARNING: Following change may create regression for some external modules, but was necessary to make Dolibarr better: diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index 22ae2f36bded2..f9eacda124afb 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -331,7 +331,15 @@ function delete($rowid, $notrigger=0) global $user,$langs,$conf; $error=0; - + + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('RESOURCE_DELETE',$user); + if ($result < 0) return -1; + // End call triggers + } + $sql = "DELETE FROM ".MAIN_DB_PREFIX."resource"; $sql.= " WHERE rowid =".$rowid; @@ -343,18 +351,6 @@ function delete($rowid, $notrigger=0) dol_syslog(get_class($this)."::delete", LOG_DEBUG); if ($this->db->query($sql)) { - if (! $notrigger) - { - // Call triggers - include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; - $interface=new Interfaces($this->db); - $result=$interface->run_triggers('RESOURCE_DELETE',$this,$user,$langs,$conf); - if ($result < 0) { - $error++; $this->errors=$interface->errors; - } - // End call triggers - } - return 1; } else { @@ -734,15 +730,10 @@ function update_element_resource($user=0, $notrigger=0) { if (! $notrigger) { - // Uncomment this and change MYOBJECT to your own tag if you - // want this action calls a trigger. - - // Call triggers - include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; - $interface=new Interfaces($this->db); - $result=$interface->run_triggers('RESOURCE_MODIFY',$this,$user,$langs,$conf); - if ($result < 0) { $error++; $this->errors=$interface->errors; } - // End call triggers + // Call trigger + $result=$this->call_trigger('RESOURCE_MODIFY',$user); + if ($result < 0) $error++; + // End call triggers } }