Merge pull request #13725 from simicar29/11.0-supplierorder

Clean line extrafields when deleting supplier order
This commit is contained in:
Laurent Destailleur 2020-04-23 18:56:09 +02:00 committed by GitHub
commit 7f0e019c78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1994,6 +1994,17 @@ class CommandeFournisseur extends CommonOrder
// End call triggers
}
$main = MAIN_DB_PREFIX . 'commande_fournisseurdet';
$ef = $main . "_extrafields";
$sql = "DELETE FROM $ef WHERE fk_object IN (SELECT rowid FROM $main WHERE fk_commande = " . $this->id . ")";
dol_syslog(get_class($this)."::delete extrafields lines", LOG_DEBUG);
if (!$this->db->query($sql))
{
$this->error = $this->db->lasterror();
$this->errors[] = $this->db->lasterror();
$error++;
}
$sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE fk_commande =".$this->id;
dol_syslog(get_class($this)."::delete", LOG_DEBUG);
if (!$this->db->query($sql))
@ -3700,6 +3711,14 @@ class CommandeFournisseurLigne extends CommonOrderLine
$this->db->begin();
// extrafields
$result = $this->deleteExtraFields();
if ($result < 0)
{
$this->db->rollback();
return -1;
}
$sql = 'DELETE FROM '.MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid=".$this->id;
dol_syslog(__METHOD__, LOG_DEBUG);