[-] Core: Fix PSCFV-3161 storage specific prices in orders

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16432 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rGaillard
2012-07-16 08:29:59 +00:00
parent d5dfb4cfdb
commit 30ea30c6f4
2 changed files with 10 additions and 8 deletions
+5 -5
View File
@@ -295,16 +295,16 @@ class SpecificPriceCore extends ObjectModel
');
$targeted_prices = array();
$last_quantity = null;
$last_quantity = array();
foreach ($res as $specific_price)
{
if (!isset($last_quantity))
$last_quantity = $specific_price['from_quantity'];
else if ($last_quantity == $specific_price['from_quantity'])
if (!isset($last_quantity[(int)$specific_price['id_product_attribute']]))
$last_quantity[(int)$specific_price['id_product_attribute']] = $specific_price['from_quantity'];
elseif ($last_quantity[(int)$specific_price['id_product_attribute']] == $specific_price['from_quantity'])
break;
$last_quantity = $specific_price['from_quantity'];
$last_quantity[(int)$specific_price['id_product_attribute']] = $specific_price['from_quantity'];
if ($specific_price['from_quantity'] > 1)
$targeted_prices[] = $specific_price;
}
+5 -3
View File
@@ -424,6 +424,8 @@ class OrderDetailCore extends ObjectModel
{
$this->reduction_amount = 0.00;
$this->reduction_percent = 0.00;
$this->reduction_amount_tax_incl = 0.00;
$this->reduction_amount_tax_excl = 0.00;
if ($this->specificPrice)
switch ($this->specificPrice['reduction_type'])
@@ -435,9 +437,9 @@ class OrderDetailCore extends ObjectModel
case 'amount':
$price = Tools::convertPrice($this->specificPrice['reduction'], $order->id_currency);
$this->reduction_amount = (float)(!$this->specificPrice['id_currency'] ?
$price : $this->specificPrice['reduction']);
$this->reduction_amount_tax_incl = $this->reduction_amount;
$this->reduction_amount_tax_excl = Tools::ps_round($this->tax_calculator->removeTaxes($this->reduction_amount_tax_incl), 2);
$price : $this->specificPrice['reduction']);
$this->reduction_amount_tax_incl = $this->reduction_amount;
$this->reduction_amount_tax_excl = Tools::ps_round($this->tax_calculator->removeTaxes($this->reduction_amount_tax_incl), 2);
break;
}
}