From 0559ace73c0dfe96a422c0645ec99626d2ea4844 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Tue, 15 Dec 2009 08:15:11 +0000 Subject: [PATCH] Fix: add code mutualized --- htdocs/commonobject.class.php | 28 +++++++++++++++++++++++++- htdocs/expedition/expedition.class.php | 18 ++++++----------- htdocs/livraison/livraison.class.php | 18 ++++++----------- 3 files changed, 39 insertions(+), 25 deletions(-) diff --git a/htdocs/commonobject.class.php b/htdocs/commonobject.class.php index 6f48b79cb6f..c327ce0021c 100644 --- a/htdocs/commonobject.class.php +++ b/htdocs/commonobject.class.php @@ -491,7 +491,7 @@ class CommonObject /** - * \brief Link ekement with a project + * \brief Link element with a project * \param projid Project id to link element to * \return int <0 if KO, >0 if OK */ @@ -908,6 +908,32 @@ class CommonObject dol_print_error($this->db); } } + + /** + * \brief Set statut of an element + * \param statut Statut to set + * \param elementid Id of element to force + * \param elementtype Type of element to force + * \return int <0 if ko, >0 if ok + */ + function setStatut($statut,$elementId='',$elementType='') + { + $elementId = (!empty($elementId)?$elementId:$this->id); + $elementType = (!empty($elementType)?$elementType:$this->element); + + $sql = "UPDATE ".MAIN_DB_PREFIX.$elementType; + $sql.= " SET fk_statut = ".$statut; + $sql.= " WHERE rowid=".$elementId; + + dol_syslog("CommonObject::setStatut sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); + if (!$resql) + { + return -1; + } + + return 1; + } } diff --git a/htdocs/expedition/expedition.class.php b/htdocs/expedition/expedition.class.php index e014597fbdf..adb0a173bba 100644 --- a/htdocs/expedition/expedition.class.php +++ b/htdocs/expedition/expedition.class.php @@ -157,22 +157,16 @@ class Expedition extends CommonObject if ($conf->commande->enabled) { - $sql = "UPDATE ".MAIN_DB_PREFIX."commande SET fk_statut = 2 WHERE rowid=".$this->origin_id; - dol_syslog("Expedition::create sql=".$sql, LOG_DEBUG); - if (! $this->db->query($sql)) - { - $error++; - } + $ret = $this->setStatut(2,$this->origin_id,$this->origin); } else { // TODO definir un statut - $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = 9 WHERE rowid=".$this->origin_id; - dol_syslog("Expedition::create sql=".$sql, LOG_DEBUG); - if (! $this->db->query($sql)) - { - $error++; - } + $ret = $this->setStatut(9,$this->origin_id,$this->origin); + } + if (! $ret) + { + $error++; } } diff --git a/htdocs/livraison/livraison.class.php b/htdocs/livraison/livraison.class.php index 50dcb2545e8..78b63d61c00 100644 --- a/htdocs/livraison/livraison.class.php +++ b/htdocs/livraison/livraison.class.php @@ -168,22 +168,16 @@ class Livraison extends CommonObject { if ($conf->commande->enabled) { - $sql = "UPDATE ".MAIN_DB_PREFIX."commande SET fk_statut = 2 WHERE rowid=".$this->origin_id; - dol_syslog("Livraison::create sql=".$sql, LOG_DEBUG); - if (! $this->db->query($sql)) - { - $error++; - } + $ret = $this->setStatut(2,$this->origin_id,$this->origin); } else { // TODO definir un statut - $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = 9 WHERE rowid=".$this->origin_id; - dol_syslog("Livraison::create sql=".$sql, LOG_DEBUG); - if (! $this->db->query($sql)) - { - $error++; - } + $ret = $this->setStatut(9,$this->origin_id,$this->origin); + } + if (! $ret) + { + $error++; } } }