From 789f6ee19c2a91dad76beba2feb584c4d85cf35b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Gaillard?= Date: Wed, 6 Mar 2013 18:02:13 +0100 Subject: [PATCH] [-] FO: Fix ecotax displayed on the quantity discounts tab with a change of base_price on the product page --- controllers/admin/AdminProductsController.php | 2 +- controllers/front/ProductController.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/controllers/admin/AdminProductsController.php b/controllers/admin/AdminProductsController.php index 2f7f937c3..58b328c70 100644 --- a/controllers/admin/AdminProductsController.php +++ b/controllers/admin/AdminProductsController.php @@ -2884,6 +2884,7 @@ class AdminProductsControllerCore extends AdminController { $this->displayWarning($this->l('You must save this product before adding specific pricing')); $product->id_tax_rules_group = (int)Product::getIdTaxRulesGroupMostUsed(); + $data->assign('ecotax_tax_excl', 0); } // prices part @@ -2895,7 +2896,6 @@ class AdminProductsControllerCore extends AdminController 'ecotaxTaxRate' => Tax::getProductEcotaxRate(), 'tax_exclude_taxe_option' => Tax::excludeTaxeOption(), 'ps_use_ecotax' => Configuration::get('PS_USE_ECOTAX'), - 'ecotax_tax_excl' => 0 )); $product->price = Tools::convertPrice($product->price, $this->context->currency, true, $this->context); diff --git a/controllers/front/ProductController.php b/controllers/front/ProductController.php index 932cc075b..4f43d3e73 100644 --- a/controllers/front/ProductController.php +++ b/controllers/front/ProductController.php @@ -320,7 +320,7 @@ class ProductControllerCore extends FrontController $product_price = $this->product->getPrice(Product::$_taxCalculationMethod == PS_TAX_INC, false); $address = new Address($this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $this->context->smarty->assign(array( - 'quantity_discounts' => $this->formatQuantityDiscounts($quantity_discounts, $product_price, (float)$tax), + 'quantity_discounts' => $this->formatQuantityDiscounts($quantity_discounts, $product_price, (float)$tax, $ecotax_tax_amount), 'ecotax_tax_inc' => $ecotax_tax_amount, 'ecotax_tax_exc' => Tools::ps_round($this->product->ecotax, 2), 'ecotaxTax_rate' => $ecotax_rate, @@ -590,14 +590,14 @@ class ProductControllerCore extends FrontController $this->context->smarty->assign('customizationFormTarget', $customization_form_target); } - protected function formatQuantityDiscounts($specific_prices, $price, $tax_rate) + protected function formatQuantityDiscounts($specific_prices, $price, $tax_rate, $ecotax_amount) { foreach ($specific_prices as $key => &$row) { $row['quantity'] = &$row['from_quantity']; if ($row['price'] >= 0) // The price may be directly set { - $cur_price = (Product::$_taxCalculationMethod == PS_TAX_EXC ? $row['price'] : $row['price'] * (1 + $tax_rate / 100)); + $cur_price = (Product::$_taxCalculationMethod == PS_TAX_EXC ? $row['price'] : $row['price'] * (1 + $tax_rate / 100)) + (float)$ecotax_amount; if ($row['reduction_type'] == 'amount') $cur_price -= (Product::$_taxCalculationMethod == PS_TAX_INC ? $row['reduction'] : $row['reduction'] / (1 + $tax_rate / 100)); else