From 4f180b9b27166a3a9b8a6af0ae6f08cf3279ca03 Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Mon, 4 Feb 2013 13:47:39 +0100 Subject: [PATCH] [-] FO : fixed voucher display in the customer view #PSCFV-7332 --- classes/CartRule.php | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/classes/CartRule.php b/classes/CartRule.php index c27525952..39ec0e3aa 100644 --- a/classes/CartRule.php +++ b/classes/CartRule.php @@ -223,7 +223,7 @@ class CartRuleCore extends ObjectModel FROM `'._DB_PREFIX_.'cart_rule` cr LEFT JOIN `'._DB_PREFIX_.'cart_rule_lang` crl ON (cr.`id_cart_rule` = crl.`id_cart_rule` AND crl.`id_lang` = '.(int)$id_lang.') WHERE ( - cr.`id_customer` = '.(int)$id_customer.' + cr.`id_customer` = '.(int)$id_customer.' OR cr.group_restriction = 1 '.($includeGeneric ? 'OR cr.`id_customer` = 0' : '').' ) AND cr.date_from < "'.date('Y-m-d H:i:s').'" @@ -232,20 +232,17 @@ class CartRuleCore extends ObjectModel '.($inStock ? 'AND cr.`quantity` > 0' : '')); // Remove cart rule that does not match the customer groups - if ($includeGeneric) - { - $customerGroups = Customer::getGroupsStatic($id_customer); - foreach ($result as $key => $cart_rule) - if ($cart_rule['group_restriction']) - { - $cartRuleGroups = Db::getInstance()->getValue('SELECT id_group FROM '._DB_PREFIX_.'cart_rule_group WHERE id_cart_rule = '.(int)$cart_rule['id_cart_rule']); - foreach ($cartRuleGroups as $cartRuleGroup) - if (in_array($cartRuleGroups['id_group'], $customerGroups)) - continue 2; + $customerGroups = Customer::getGroupsStatic($id_customer); + foreach ($result as $key => $cart_rule) + if ($cart_rule['group_restriction']) + { + $cartRuleGroups = Db::getInstance()->executeS('SELECT id_group FROM '._DB_PREFIX_.'cart_rule_group WHERE id_cart_rule = '.(int)$cart_rule['id_cart_rule']); + foreach ($cartRuleGroups as $cartRuleGroup) + if (in_array($cartRuleGroup['id_group'], $customerGroups)) + continue 2; - unset($result[$key]); - } - } + unset($result[$key]); + } foreach ($result as &$cart_rule) if ($cart_rule['quantity_per_user'])