From da637db162be2131c03366513796579e97280183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= <marcosgdf@gmail.com> Date: Mon, 18 Jan 2016 10:13:58 +0100 Subject: [PATCH] FIX #4440 Wrong price is filled by Product::fetch into multiprices arrays --- htdocs/core/class/html.form.class.php | 2 +- htdocs/product/class/product.class.php | 4 ++-- htdocs/product/price.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 10db9442ca6..71d28e2ea42 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -1551,7 +1551,7 @@ class Form $sql.= " WHERE fk_product='".$objp->rowid."'"; $sql.= " AND entity IN (".getEntity('productprice', 1).")"; $sql.= " AND price_level=".$price_level; - $sql.= " ORDER BY date_price"; + $sql.= " ORDER BY date_price, rowid"; $sql.= " DESC LIMIT 1"; dol_syslog(get_class($this).'::constructProductListOption search price for level '.$price_level.' sql='.$sql); diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 72f826d546f..2bf92821c1e 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1510,7 +1510,7 @@ class Product extends CommonObject $sql.= " WHERE entity IN (".getEntity('productprice', 1).")"; $sql.= " AND price_level=".$i; $sql.= " AND fk_product = '".$this->id."'"; - $sql.= " ORDER BY date_price DESC"; + $sql.= " ORDER BY date_price, rowid DESC"; $sql.= " LIMIT 1"; $resql = $this->db->query($sql); if ($resql) @@ -1571,7 +1571,7 @@ class Product extends CommonObject $sql.= " price_base_type, tva_tx, tosell, price_by_qty, rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."product_price"; $sql.= " WHERE fk_product = '".$this->id."'"; - $sql.= " ORDER BY date_price DESC"; + $sql.= " ORDER BY date_price, rowid DESC"; $sql.= " LIMIT 1"; $resql = $this->db->query($sql); if ($resql) diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 9c916ec4b74..79ee0dd0f55 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -687,7 +687,7 @@ $sql .= " WHERE fk_product = " . $object->id; $sql .= " AND p.entity IN (" . getEntity('productprice', 1) . ")"; $sql .= " AND p.fk_user_author = u.rowid"; if (! empty($socid) && ! empty($conf->global->PRODUIT_MULTIPRICES)) $sql .= " AND p.price_level = " . $soc->price_level; -$sql .= " ORDER BY p.date_price DESC, p.price_level ASC, p.rowid DESC"; +$sql .= " ORDER BY p.date_price, p.rowid DESC, p.price_level ASC"; // $sql .= $db->plimit(); dol_syslog("sql=" . $sql); -- GitLab