diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index f395173b327..7ee71bc1569 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -854,11 +854,24 @@ class Project extends CommonObject $listoftables = array( 'propal'=>'fk_projet', 'commande'=>'fk_projet', 'facture'=>'fk_projet', 'supplier_proposal'=>'fk_projet', 'commande_fournisseur'=>'fk_projet', 'facture_fourn'=>'fk_projet', - 'expensereport_det'=>'fk_projet', 'contrat'=>'fk_projet', 'fichinter'=>'fk_projet', 'don'=>'fk_projet', - 'actioncomm'=>'fk_project', 'mrp_mo'=>'fk_project', 'entrepot'=>'fk_project' + 'expensereport_det'=>'fk_projet', 'contrat'=>'fk_projet', + 'fichinter'=>'fk_projet', + 'don'=>array('field'=>'fk_projet', 'module'=>'don'), + 'actioncomm'=>'fk_project', + 'mrp_mo'=>'fk_project', + 'entrepot'=>'fk_project' ); foreach ($listoftables as $key => $value) { - $sql = "UPDATE ".MAIN_DB_PREFIX.$key." SET ".$value." = NULL where ".$value." = ".((int) $this->id); + if (is_array($value)) { + if (!isModEnabled($value['module'])) { + continue; + } + $fieldname = $value['field']; + } else { + $fieldname = $value; + } + $sql = "UPDATE ".MAIN_DB_PREFIX.$key." SET ".$fieldname." = NULL where ".$fieldname." = ".((int) $this->id); + $resql = $this->db->query($sql); if (!$resql) { $this->errors[] = $this->db->lasterror();