diff --git a/ChangeLog b/ChangeLog index ddd3c6f33b2..ec144c6534b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,7 @@ For users: - New: Can create proposal from an intervention. - New: Can filter events on a group of users. - New: Add thirdparty to filter on events. +- Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action For translators: - Update language files. diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index 0eea10bf510..1d077f933da 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -248,10 +248,8 @@ class Paiement extends CommonObject if (! $error) { // Appel des triggers - include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; - $interface=new Interfaces($this->db); - $result=$interface->run_triggers('PAYMENT_CUSTOMER_CREATE',$this,$user,$langs,$conf); - if ($result < 0) { $error++; $this->errors=$interface->errors; } + $result=$this->call_trigger('PAYMENT_CUSTOMER_CREATE', $user); + if ($result < 0) { $error++; } // Fin appel triggers } } @@ -363,11 +361,13 @@ class Paiement extends CommonObject if (! $notrigger) { // Appel des triggers - include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; - $interface=new Interfaces($this->db); - $result=$interface->run_triggers('PAYMENT_DELETE',$this,$user,$langs,$conf); - if ($result < 0) { $error++; $this->errors=$interface->errors; } - // Fin appel triggers + $result=$this->call_trigger('PAYMENT_DELETE', $user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + // Fin appel triggers } $this->db->commit(); @@ -516,11 +516,9 @@ class Paiement extends CommonObject 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('PAYMENT_ADD_TO_BANK',$this,$user,$langs,$conf); - if ($result < 0) { $error++; $this->errors=$interface->errors; } - // Fin appel triggers + $result=$this->call_trigger('PAYMENT_ADD_TO_BANK', $user); + if ($result < 0) { $error++; } + // Fin appel triggers } } else diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index ae439127c06..ca44b420d7c 100644 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -19,3 +19,9 @@ ALTER TABLE llx_c_paiement ADD COLUMN accountancy_code varchar(32) DEFAULT NULL AFTER active; + +ALTER TABLE llx_accountingaccount add column entity integer DEFAULT 1 NOT NULL AFTER rowid; +ALTER TABLE llx_accountingaccount add column datec datetime NOT NULL AFTER entity; +ALTER TABLE llx_accountingaccount add column tms timestamp DEFAULT NULL AFTER datec; +ALTER TABLE llx_accountingaccount add column fk_user_author integer DEFAULT NULL AFTER label; +ALTER TABLE llx_accountingaccount add column fk_user_modif integer DEFAULT NULL AFTER fk_user_author; diff --git a/htdocs/install/mysql/tables/llx_accountingaccount.sql b/htdocs/install/mysql/tables/llx_accountingaccount.sql index a3143a263f9..e4a216de4a2 100644 --- a/htdocs/install/mysql/tables/llx_accountingaccount.sql +++ b/htdocs/install/mysql/tables/llx_accountingaccount.sql @@ -20,11 +20,16 @@ create table llx_accountingaccount ( rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + datec datetime, + tms timestamp DEFAULT NULL, fk_pcg_version varchar(12) NOT NULL, pcg_type varchar(20) NOT NULL, pcg_subtype varchar(20) NOT NULL, account_number varchar(20) NOT NULL, account_parent varchar(20), label varchar(255) NOT NULL, + fk_user_author integer DEFAULT NULL, + fk_user_modif integer DEFAULT NULL, active tinyint DEFAULT 1 NOT NULL )ENGINE=innodb;