From 6b71ec8b096d088fa2a06265bc16a3eb2e33f8d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Tue, 2 Jul 2013 15:45:12 +0200 Subject: [PATCH] [-] BO: product supplier price should not be converted on product page #PSCFV-9420 --- classes/ProductSupplier.php | 8 ++++++-- classes/order/OrderDetail.php | 2 +- controllers/admin/AdminProductsController.php | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/classes/ProductSupplier.php b/classes/ProductSupplier.php index eb15f47c4..6ba1ea952 100644 --- a/classes/ProductSupplier.php +++ b/classes/ProductSupplier.php @@ -208,9 +208,10 @@ class ProductSupplierCore extends ObjectModel * * @param int $id_product * @param int $id_product_attribute Optional + * @param bool $converted_price Optional * @return Array keys: price_te, id_currency */ - public static function getProductPrice($id_supplier, $id_product, $id_product_attribute = 0) + public static function getProductPrice($id_supplier, $id_product, $id_product_attribute = 0, $converted_price = false) { if (is_null($id_supplier) || is_null($id_product)) return; @@ -222,6 +223,9 @@ class ProductSupplierCore extends ObjectModel $query->where('id_supplier = '.(int)$id_supplier); $row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($query); + if ($converted_price) + return Tools::convertPrice($row['price_te'], $row['id_currency']); + return $row['price_te']; } -} +} \ No newline at end of file diff --git a/classes/order/OrderDetail.php b/classes/order/OrderDetail.php index a21486bd5..1136ebfdc 100644 --- a/classes/order/OrderDetail.php +++ b/classes/order/OrderDetail.php @@ -508,7 +508,7 @@ class OrderDetailCore extends ObjectModel $this->purchase_supplier_price = (float)$product['wholesale_price']; if ($product['id_supplier'] > 0) - $this->purchase_supplier_price = (float)ProductSupplier::getProductPrice((int)$product['id_supplier'], $product['id_product'], $product['id_product_attribute']); + $this->purchase_supplier_price = (float)ProductSupplier::getProductPrice((int)$product['id_supplier'], $product['id_product'], $product['id_product_attribute'], true); $this->setSpecificPrice($order, $product); diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index 546922c44..bbf4765da 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -2717,7 +2717,7 @@ class AdminProductsControllerCore extends AdminController if (!$product_supplier_id) { - $product->addSupplierReference($supplier->id_supplier, (int)$attribute['id_product_attribute'], $reference, (float)Tools::convertPrice($price, $id_currency), (int)$id_currency); + $product->addSupplierReference($supplier->id_supplier, (int)$attribute['id_product_attribute'], $reference, (float)$price, (int)$id_currency); if ($product->id_supplier == $supplier->id_supplier) { if ((int)$attribute['id_product_attribute'] > 0) @@ -2743,7 +2743,7 @@ class AdminProductsControllerCore extends AdminController { $product_supplier = new ProductSupplier($product_supplier_id); $product_supplier->id_currency = (int)$id_currency; - $product_supplier->product_supplier_price_te = (float)Tools::convertPrice($price, $id_currency); //converted in the default currency + $product_supplier->product_supplier_price_te = (float)$price; $product_supplier->product_supplier_reference = pSQL($reference); $product_supplier->update();