From cc1454c8d5add9d70868428b8af68418b978b5f8 Mon Sep 17 00:00:00 2001 From: gauthier Date: Fri, 13 Dec 2019 14:55:39 +0100 Subject: [PATCH 1/3] FIX : product_fourn_price_id was assigned too late for logPrice() function --- htdocs/fourn/class/fournisseur.product.class.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index 786a650efb3..a6411942f75 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -434,11 +434,9 @@ class ProductFournisseur extends Product $sql .= (empty($fk_barcode_type) ? 'NULL' : "'" . $this->db->escape($fk_barcode_type) . "'"); $sql .= ")"; - $idinserted = 0; - $resql = $this->db->query($sql); if ($resql) { - $idinserted = $this->db->last_insert_id(MAIN_DB_PREFIX . "product_fournisseur_price"); + $this->product_fourn_price_id = $this->db->last_insert_id(MAIN_DB_PREFIX . "product_fournisseur_price"); } else { $error++; @@ -461,7 +459,6 @@ class ProductFournisseur extends Product if (empty($error)) { $this->db->commit(); - $this->product_fourn_price_id = $idinserted; return $this->product_fourn_price_id; } else { $this->db->rollback(); From e9a0646f6f7ef55bdae6b85c880ace1247e513ab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Dec 2019 22:25:34 +0100 Subject: [PATCH 2/3] Update fournisseur.product.class.php --- htdocs/fourn/class/fournisseur.product.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index a6411942f75..ac936f30334 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -391,7 +391,6 @@ class ProductFournisseur extends Product return -2; } } - else { dol_syslog(get_class($this) . '::update_buyprice without knowing id of line, so we delete from company, quantity and supplier_ref and insert again', LOG_DEBUG); @@ -434,6 +433,8 @@ class ProductFournisseur extends Product $sql .= (empty($fk_barcode_type) ? 'NULL' : "'" . $this->db->escape($fk_barcode_type) . "'"); $sql .= ")"; + $this->product_fourn_price_id = 0; + $resql = $this->db->query($sql); if ($resql) { $this->product_fourn_price_id = $this->db->last_insert_id(MAIN_DB_PREFIX . "product_fournisseur_price"); From 2c4fd099c8fefe0089c46bcf84c1608553f36601 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 14 Dec 2019 22:27:45 +0100 Subject: [PATCH 3/3] Update fournisseur.product.class.php --- htdocs/fourn/class/fournisseur.product.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index ac936f30334..4dbd2365c6f 100644 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -445,6 +445,7 @@ class ProductFournisseur extends Product if (! $error && empty($conf->global->PRODUCT_PRICE_SUPPLIER_NO_LOG)) { // Add record into log table + // $this->product_fourn_price_id must be set $result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrenc, $multicurrency_code); if ($result < 0) { $error++;