[-] BO: Fix #PSCFV-6120 display of shipping price on BO order summary detail with freeshipping

This commit is contained in:
Rémi Gaillard
2013-01-04 14:51:01 +01:00
parent 20fa64b05b
commit 3fbd7dc55c
3 changed files with 4 additions and 2 deletions
+1 -1
View File
@@ -2850,7 +2850,7 @@ class CartCore extends ObjectModel
foreach ($cart_rules as &$cart_rule)
{
// If the cart rule is automatic (wihtout any code) and include free shipping, it should not be displayed as a cart rule but only set the shipping cost to 0
if ($cart_rule['free_shipping'] && empty($cart_rule['code']))
if ($cart_rule['free_shipping'] && (empty($cart_rule['code']) || preg_match('/^'.CartRule::BO_ORDER_CODE_PREFIX.'[0-9]+/', $cart_rule['code'])))
{
$cart_rule['value_real'] -= $total_shipping;
$cart_rule['value_tax_exc'] = $total_shipping_tax_exc;
+2
View File
@@ -31,6 +31,8 @@ class CartRuleCore extends ObjectModel
const FILTER_ACTION_SHIPPING = 2;
const FILTER_ACTION_REDUCTION = 3;
const FILTER_ACTION_GIFT = 4;
const BO_ORDER_CODE_PREFIX = 'BO_ORDER_';
/* This variable controls that a free gift is offered only once, even when multi-shippping is activated and the same product is delivered in both addresses */
protected static $only_one_gift = array();
+1 -1
View File
@@ -461,7 +461,7 @@ class AdminCartsControllerCore extends AdminController
if (!$id_cart_rule = CartRule::getIdByCode('BO_ORDER_'.(int)$this->context->cart->id))
{
$cart_rule = new CartRule();
$cart_rule->code = 'BO_ORDER_'.(int)$this->context->cart->id;
$cart_rule->code = CartRule::BO_ORDER_CODE_PREFIX.(int)$this->context->cart->id;
$cart_rule->name = array(Configuration::get('PS_LANG_DEFAULT') => $this->l('Free Shipping', 'AdminTab', false, false));
$cart_rule->id_customer = (int)$this->context->cart->id_customer;
$cart_rule->free_shipping = true;