diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 414f007b26b..acc86415a32 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -2005,6 +2005,21 @@ class Propal extends CommonObject } } + // Removed extrafields + if (! $error) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->deleteExtraFields(); + if ($result < 0) + { + $error++; + $errorflag=-4; + dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); + } + } + } + if (! $error) { dol_syslog(get_class($this)."::delete $this->id by $user->id", LOG_DEBUG); diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 04f42cb4ea3..105635b7a7e 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -2392,6 +2392,17 @@ class Commande extends CommonOrder // Delete linked contacts $res = $this->delete_linked_contact(); if ($res < 0) $error++; + + // Remove extrafields + if ((! $error) && (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 error -4 ".$this->error, LOG_ERR); + } + } // On efface le repertoire de pdf provisoire $comref = dol_sanitizeFileName($this->ref); @@ -2419,6 +2430,8 @@ class Commande extends CommonOrder } } } + + } if (! $error) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 39c729f91e4..5b3c9d6c8d3 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1441,6 +1441,17 @@ class CommandeFournisseur extends CommonOrder { $error++; } + + // Remove extrafields + if ((! $error) && (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 error -4 ".$this->error, LOG_ERR); + } + } if (! $error) { diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 8cac5ebe573..88360e6ec1d 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -668,6 +668,17 @@ class Product extends CommonObject } } } + + // Remove extrafields + if ((! $error) && (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 error -4 ".$this->error, LOG_ERR); + } + } if (! $error) { diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 321936ad6a9..deae61c4a2a 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -474,6 +474,12 @@ class Project extends CommonObject } } + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_task_extrafields"; + $sql.= " WHERE fk_object IN (SELECT rowid FROM " . MAIN_DB_PREFIX . "projet_task WHERE fk_projet=" . $this->id . ")"; + + dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); + $resql = $this->db->query($sql); + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_task"; $sql.= " WHERE fk_projet=" . $this->id; @@ -485,6 +491,13 @@ class Project extends CommonObject dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); $resql = $this->db->query($sql); + + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_extrafields"; + $sql.= " WHERE fk_object=" . $this->id; + + dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) { // We remove directory