Fix deletion of category
This commit is contained in:
parent
c1e747fa39
commit
e7e4252244
@ -447,9 +447,10 @@ class Categorie extends CommonObject
|
|||||||
* Delete a category from database
|
* Delete a category from database
|
||||||
*
|
*
|
||||||
* @param User $user Object user that ask to delete
|
* @param User $user Object user that ask to delete
|
||||||
* @return int <0 KO >0 OK
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
|
* @return int <0 KO >0 OK
|
||||||
*/
|
*/
|
||||||
function delete($user)
|
function delete($user, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $conf,$langs;
|
global $conf,$langs;
|
||||||
|
|
||||||
@ -462,6 +463,14 @@ class Categorie extends CommonObject
|
|||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
|
if (! $error && ! $notrigger)
|
||||||
|
{
|
||||||
|
// Call trigger
|
||||||
|
$result=$this->call_trigger('CATEGORY_DELETE',$user);
|
||||||
|
if ($result < 0) $error++;
|
||||||
|
// End call triggers
|
||||||
|
}
|
||||||
|
|
||||||
/* FIX #1317 : Check for child category and move up 1 level*/
|
/* FIX #1317 : Check for child category and move up 1 level*/
|
||||||
if (! $error)
|
if (! $error)
|
||||||
{
|
{
|
||||||
@ -580,25 +589,16 @@ class Categorie extends CommonObject
|
|||||||
$this->error=$this->db->lasterror();
|
$this->error=$this->db->lasterror();
|
||||||
$error++;
|
$error++;
|
||||||
}
|
}
|
||||||
else
|
}
|
||||||
|
|
||||||
|
// Removed extrafields
|
||||||
|
if (! $error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
||||||
|
{
|
||||||
|
$result=$this->deleteExtraFields();
|
||||||
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
// Removed extrafields
|
$error++;
|
||||||
if (! $error)
|
dol_syslog(get_class($this)."::delete erreur ".$this->error, LOG_ERR);
|
||||||
{
|
|
||||||
if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used
|
|
||||||
{
|
|
||||||
$result=$this->deleteExtraFields();
|
|
||||||
if ($result < 0)
|
|
||||||
{
|
|
||||||
$error++;
|
|
||||||
dol_syslog(get_class($this)."::delete erreur ".$this->error, LOG_ERR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Call trigger
|
|
||||||
$result=$this->call_trigger('CATEGORY_DELETE',$user);
|
|
||||||
if ($result < 0) { $error++; }
|
|
||||||
// End call triggers
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user