From fc33b24f3df7469a13577eb44b5b56074f1d550c Mon Sep 17 00:00:00 2001 From: dMetzger Date: Mon, 21 May 2012 17:08:16 +0000 Subject: [PATCH] [-] FO : wrong calcul of the free shipping in multi-shipping git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15548 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/Cart.php | 2 +- classes/CartRule.php | 2 +- classes/PaymentModule.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/classes/Cart.php b/classes/Cart.php index ce4f25af8..1314210c9 100644 --- a/classes/Cart.php +++ b/classes/Cart.php @@ -1470,7 +1470,7 @@ class CartCore extends ObjectModel if ($cart_rule['obj']->reduction_percent > 0 || $cart_rule['obj']->reduction_amount > 0) { $id_address_delivery = (is_null($products) ? $this->id_address_delivery : $products[0]['id_address_delivery']); - $package = array('id_address' => $id_address_delivery, 'products' => $products); + $package = array('id_carrier' => $id_carrier, 'id_address' => $id_address_delivery, 'products' => $products); $order_total_discount += Tools::ps_round($cart_rule['obj']->getContextualValue($with_taxes, $virtual_context, CartRule::FILTER_ACTION_REDUCTION, $package), 2); } } diff --git a/classes/CartRule.php b/classes/CartRule.php index 7506e646f..5cf9ce239 100644 --- a/classes/CartRule.php +++ b/classes/CartRule.php @@ -720,7 +720,7 @@ class CartRuleCore extends ObjectModel if ($this->free_shipping && ($filter == CartRule::FILTER_ACTION_ALL || $filter == CartRule::FILTER_ACTION_SHIPPING)) { if (!$this->carrier_restriction) - $reduction_value += $context->cart->getTotalShippingCost(null, $useTax, $context->country); + $reduction_value += $context->cart->getPackageShippingCost(is_null($package) ? null : $package['id_carrier'], $useTax, $context->country, is_null($package) ? null : $package['products']); else { $data = Db::getInstance()->executeS(' diff --git a/classes/PaymentModule.php b/classes/PaymentModule.php index 39c112b41..bf8e2d2eb 100644 --- a/classes/PaymentModule.php +++ b/classes/PaymentModule.php @@ -327,7 +327,7 @@ abstract class PaymentModuleCore extends Module $cart_rules_list = ''; foreach ($cart->getCartRules() as $cart_rule) { - $package = array('id_address' => $order->id_address_delivery, 'products' => $order->product_list); + $package = array('id_carrier' => $order->id_carrier, 'id_address' => $order->id_address_delivery, 'products' => $order->product_list); $values = array( 'tax_incl' => $cart_rule['obj']->getContextualValue(true, $this->context, CartRule::FILTER_ACTION_ALL, $package), 'tax_excl' => $cart_rule['obj']->getContextualValue(false, $this->context, CartRule::FILTER_ACTION_ALL, $package)