From fb6819764d8564d4a90970f3c12fc305e49dfde0 Mon Sep 17 00:00:00 2001 From: Paris Liakos <rootatwc@gmail.com> Date: Tue, 17 Nov 2015 01:20:58 +0200 Subject: [PATCH] Add PRODUCT_DEL_MULTILANGS trigger for translation deletion on product --- .../triggers/interface_90_all_Demo.class.php-NORUN | 1 + htdocs/product/class/product.class.php | 12 +++++++++++- htdocs/product/traduction.php | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN index b7cb255bfc3..12d1394ac9d 100644 --- a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN +++ b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN @@ -101,6 +101,7 @@ class InterfaceDemo extends DolibarrTriggers case 'PRODUCT_DELETE': case 'PRODUCT_PRICE_MODIFY': case 'PRODUCT_SET_MULTILANGS': + case 'PRODUCT_DEL_MULTILANGS': //Stock mouvement case 'STOCK_MOVEMENT': diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index f0942786afa..02636de50b4 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1067,9 +1067,11 @@ class Product extends CommonObject * Delete a language for this product * * @param string $langtodelete Language code to delete + * @param User $user Object user making delete + * * @return int <0 if KO, >0 if OK */ - function delMultiLangs($langtodelete) + function delMultiLangs($langtodelete, $user) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."product_lang"; $sql.= " WHERE fk_product=".$this->id." AND lang='".$this->db->escape($langtodelete)."'"; @@ -1078,6 +1080,14 @@ class Product extends CommonObject $result = $this->db->query($sql); if ($result) { + // Call trigger + $result = $this->call_trigger('PRODUCT_DEL_MULTILANGS',$user); + if ($result < 0) { + $this->error = $this->db->lasterror(); + dol_syslog(get_class($this).'::delMultiLangs error='.$this->error, LOG_ERR); + return -1; + } + // End call triggers return 1; } else diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index 3d97467f552..a40b7b15cd9 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -60,7 +60,7 @@ if ($action == 'delete' && GETPOST('langtodelete','alpha')) { $object = new Product($db); $object->fetch($id); - $object->delMultiLangs(GETPOST('langtodelete','alpha')); + $object->delMultiLangs(GETPOST('langtodelete','alpha'), $user); } // Add translation @@ -144,7 +144,7 @@ $cancel != $langs->trans("Cancel") && $langtodelete=GETPOST('langdel','alpha'); - if ( $object->delMultiLangs($langtodelete) > 0 ) + if ( $object->delMultiLangs($langtodelete, $user) > 0 ) { $action = ''; } -- GitLab