[-] BO: Fix #PSCFV-6120 display of shipping price on BO order summary detail with freeshipping
This commit is contained in:
+1
-1
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user