diff --git a/classes/Product.php b/classes/Product.php index f9c4ad4d8..3dbe27eca 100644 --- a/classes/Product.php +++ b/classes/Product.php @@ -2531,8 +2531,6 @@ class ProductCore extends ObjectModel */ public static function convertPriceWithCurrency($params, &$smarty) { - if (!isset($params['convert'])) - $params['convert'] = true; return Tools::displayPrice($params['price'], $params['currency'], false); } diff --git a/classes/order/Order.php b/classes/order/Order.php index 0a267ca01..47ad645cf 100644 --- a/classes/order/Order.php +++ b/classes/order/Order.php @@ -471,63 +471,29 @@ class OrderCore extends ObjectModel } /** - * - * @deprecated 1.5.0.1 - * @see OrderInvoice::setProductPrices + * Marked as deprecated but should not throw any "deprecated" message + * This function is used in order to keep front office backward compatibility 14 -> 1.5 + * (Order History) + * + * @deprecated */ public function setProductPrices(&$row) { - //Tools::displayAsDeprecated(); $tax_calculator = OrderDetail::getTaxCalculatorStatic((int)$row['id_order_detail']); $row['tax_calculator'] = $tax_calculator; $row['tax_rate'] = $tax_calculator->getTotalRate(); - if ($this->_taxCalculationMethod == PS_TAX_EXC) - $row['product_price'] = Tools::ps_round($row['product_price'], 2); - else - $row['product_price_wt'] = Tools::ps_round($tax_calculator->addTaxes($row['product_price']), 2); + $row['product_price'] = Tools::ps_round($row['unit_price_tax_excl'], 2); + $row['product_price_wt'] = Tools::ps_round($row['unit_price_tax_incl'], 2); $group_reduction = 1; if ($row['group_reduction'] > 0) $group_reduction = 1 - $row['group_reduction'] / 100; - if ($row['reduction_percent'] != 0) - { - if ($this->_taxCalculationMethod == PS_TAX_EXC) - $row['product_price'] = ($row['product_price'] - $row['product_price'] * ($row['reduction_percent'] * 0.01)); - else - $row['product_price_wt'] = Tools::ps_round(($row['product_price_wt'] - $row['product_price_wt'] * ($row['reduction_percent'] * 0.01)), 2); - } + $row['product_price_wt_but_ecotax'] = $row['product_price_wt'] - $row['ecotax']; - if ($row['reduction_amount'] != 0) - { - if ($this->_taxCalculationMethod == PS_TAX_EXC) - $row['product_price'] = ($row['product_price'] - ($tax_calculator->removeTaxes($row['reduction_amount']))); - else - $row['product_price_wt'] = Tools::ps_round(($row['product_price_wt'] - $row['reduction_amount']), 2); - } - - if ($row['group_reduction'] > 0) - { - if ($this->_taxCalculationMethod == PS_TAX_EXC) - $row['product_price'] = $row['product_price'] * $group_reduction; - else - $row['product_price_wt'] = Tools::ps_round($row['product_price_wt'] * $group_reduction , 2); - } - - if (($row['reduction_percent'] OR $row['reduction_amount'] OR $row['group_reduction']) AND $this->_taxCalculationMethod == PS_TAX_EXC) - $row['product_price'] = Tools::ps_round($row['product_price'], 2); - - if ($this->_taxCalculationMethod == PS_TAX_EXC) - $row['product_price_wt'] = Tools::ps_round($tax_calculator->addTaxes($row['product_price']), 2) + Tools::ps_round($row['ecotax'] * (1 + $row['ecotax_tax_rate'] / 100), 2); - else - { - $row['product_price_wt_but_ecotax'] = $row['product_price_wt']; - $row['product_price_wt'] = Tools::ps_round($row['product_price_wt'] + $row['ecotax'] * (1 + $row['ecotax_tax_rate'] / 100), 2); - } - - $row['total_wt'] = $row['product_quantity'] * $row['product_price_wt']; - $row['total_price'] = $row['product_quantity'] * $row['product_price']; + $row['total_wt'] = $row['total_price_tax_incl']; + $row['total_price'] = $row['total_price_tax_excl']; } @@ -552,14 +518,17 @@ class OrderCore extends ObjectModel $row['product_quantity'] = 0; foreach ($selectedProducts AS $key => $id_product) if ($row['id_order_detail'] == $id_product) - $row['product_quantity'] = (int)($selectedQty[$key]); + $row['producsvt_quantity'] = (int)($selectedQty[$key]); if (!$row['product_quantity']) continue ; } $this->setProductImageInformations($row); $this->setProductCurrentStock($row); - $this->setProductPrices($row); + + // Backward compatibility 1.4 -> 1.5 + $this->setProductPrices($row); + $this->setProductCustomizedDatas($row, $customized_datas); // Add information for virtual product diff --git a/classes/order/OrderInvoice.php b/classes/order/OrderInvoice.php index 20f550bdd..2b345e4d0 100644 --- a/classes/order/OrderInvoice.php +++ b/classes/order/OrderInvoice.php @@ -144,7 +144,6 @@ class OrderInvoiceCore extends ObjectModel $this->setProductImageInformations($row); $this->setProductCurrentStock($row); - $this->setProductPrices($row, $order); $this->setProductCustomizedDatas($row, $customized_datas); // Add information for virtual product @@ -218,60 +217,6 @@ class OrderInvoiceCore extends ObjectModel $product['image'] = new Image($id_image); } - public function setProductPrices(&$row, $order) - { - $tax_calculator = OrderDetail::getTaxCalculatorStatic((int)$row['id_order_detail']); - $row['tax_calculator'] = $tax_calculator; - $row['tax_rate'] = $tax_calculator->getTotalRate(); - - if ($order->getTaxCalculationMethod() == PS_TAX_EXC) - $row['product_price'] = Tools::ps_round($row['product_price'], 2); - else - $row['product_price_wt'] = Tools::ps_round($tax_calculator->addTaxes($row['product_price']), 2); - - $group_reduction = 1; - if ($row['group_reduction'] > 0) - $group_reduction = 1 - $row['group_reduction'] / 100; - - if ($row['reduction_percent'] != 0) - { - if ($order->getTaxCalculationMethod() == PS_TAX_EXC) - $row['product_price'] = ($row['product_price'] - $row['product_price'] * ($row['reduction_percent'] * 0.01)); - else - $row['product_price_wt'] = Tools::ps_round(($row['product_price_wt'] - $row['product_price_wt'] * ($row['reduction_percent'] * 0.01)), 2); - } - - if ($row['reduction_amount'] != 0) - { - if ($order->getTaxCalculationMethod() == PS_TAX_EXC) - $row['product_price'] = ($row['product_price'] - ($tax_calculator->removeTaxes($row['reduction_amount']))); - else - $row['product_price_wt'] = Tools::ps_round(($row['product_price_wt'] - $row['reduction_amount']), 2); - } - - if ($row['group_reduction'] > 0) - { - if ($order->getTaxCalculationMethod() == PS_TAX_EXC) - $row['product_price'] = $row['product_price'] * $group_reduction; - else - $row['product_price_wt'] = Tools::ps_round($row['product_price_wt'] * $group_reduction , 2); - } - - if (($row['reduction_percent'] OR $row['reduction_amount'] OR $row['group_reduction']) AND $order->getTaxCalculationMethod() == PS_TAX_EXC) - $row['product_price'] = Tools::ps_round($row['product_price'], 2); - - if ($order->getTaxCalculationMethod() == PS_TAX_EXC) - $row['product_price_wt'] = Tools::ps_round($tax_calculator->addTaxes($row['product_price']), 2) + Tools::ps_round($row['ecotax'] * (1 + $row['ecotax_tax_rate'] / 100), 2); - else - { - $row['product_price_wt_but_ecotax'] = $row['product_price_wt']; - $row['product_price_wt'] = Tools::ps_round($row['product_price_wt'] + $row['ecotax'] * (1 + $row['ecotax_tax_rate'] / 100), 2); - } - - $row['total_wt'] = $row['product_quantity'] * $row['product_price_wt']; - $row['total_price'] = $row['product_quantity'] * $row['product_price']; - } - /** * This method returns true if at least one order details uses the * One After Another tax computation method. diff --git a/themes/default/order-detail.tpl b/themes/default/order-detail.tpl index c8982a38a..d7fa5a6e5 100644 --- a/themes/default/order-detail.tpl +++ b/themes/default/order-detail.tpl @@ -151,13 +151,13 @@ {if $priceDisplay && $use_tax} - {l s='Total products (tax excl.):'} {displayWtPriceWithCurrency price=$order->getTotalProductsWithoutTaxes() currency=$currency convert=0} + {l s='Total products (tax excl.):'} {displayWtPriceWithCurrency price=$order->getTotalProductsWithoutTaxes() currency=$currency} {/if} - {l s='Total products'} {if $use_tax}{l s='(tax incl.)'}{/if}: {displayWtPriceWithCurrency price=$order->getTotalProductsWithTaxes() currency=$currency convert=0} + {l s='Total products'} {if $use_tax}{l s='(tax incl.)'}{/if}: {displayWtPriceWithCurrency price=$order->getTotalProductsWithTaxes() currency=$currency} {if $order->total_discounts > 0} @@ -170,22 +170,23 @@ {if $order->total_wrapping > 0} - {l s='Total gift-wrapping:'} {displayWtPriceWithCurrency price=$order->total_wrapping currency=$currency convert=0} + {l s='Total gift-wrapping:'} {displayWtPriceWithCurrency price=$order->total_wrapping currency=$currency} {/if} - {l s='Total shipping'} {if $use_tax}{l s='(tax incl.)'}{/if}: {displayWtPriceWithCurrency price=$order->total_shipping currency=$currency convert=0} + {l s='Total shipping'} {if $use_tax}{l s='(tax incl.)'}{/if}: {displayWtPriceWithCurrency price=$order->total_shipping currency=$currency} - {l s='Total:'} {displayWtPriceWithCurrency price=$order->total_paid currency=$currency convert=0} + {l s='Total:'} {displayWtPriceWithCurrency price=$order->total_paid currency=$currency} + GROUP={$group_use_tax} {foreach from=$products item=product name=products} {if !isset($product.deleted)} {assign var='productId' value=$product.product_id} @@ -207,9 +208,9 @@ @@ -217,15 +218,15 @@ @@ -288,18 +289,18 @@ @@ -313,7 +314,7 @@ {l s='Voucher:'} {$discount.name|escape:'htmlall':'UTF-8'} 1   - {if $discount.value != 0.00}{l s='-'}{/if}{convertPriceWithCurrency price=$discount.value currency=$currency convert=0} + {if $discount.value != 0.00}{l s='-'}{/if}{convertPriceWithCurrency price=$discount.value currency=$currency} {if $return_allowed}   {/if}