Clean line extrafields when deleting fichinter

This commit is contained in:
Marc Guenneugues 2020-04-23 18:52:45 +02:00
parent 6819255b76
commit 285f215acf

View File

@ -961,6 +961,16 @@ class Fichinter extends CommonObject
}
}
if (!$error)
{
$main = MAIN_DB_PREFIX . 'fichinterdet';
$ef = $main . "_extrafields";
$sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_fichinter = " . $this->id . ")";
$resql = $this->db->query($sql);
if (!$resql) $error++;
}
if (!$error)
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet";
@ -1704,6 +1714,13 @@ class FichinterLigne extends CommonObjectLine
dol_syslog(get_class($this)."::deleteline lineid=".$this->id);
$this->db->begin();
$result = $this->deleteExtraFields();
if ($result < 0) {
$error++;
$this->db->rollback();
return -1;
}
$sql = "DELETE FROM ".MAIN_DB_PREFIX."fichinterdet WHERE rowid = ".$this->id;
$resql = $this->db->query($sql);