Add PRODUCT_DEL_MULTILANGS trigger for translation deletion on product

This commit is contained in:
Paris Liakos 2015-11-17 01:20:58 +02:00
parent 146aa7815b
commit fb6819764d
3 changed files with 14 additions and 3 deletions

View File

@ -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':

View File

@ -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

View File

@ -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 = '';
}