From f907523250af9e7f7855c76e4721267e96d15ce0 Mon Sep 17 00:00:00 2001 From: dMetzger Date: Sat, 19 May 2012 12:03:13 +0000 Subject: [PATCH] // Cart rule autoadd fixed git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15429 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/CartRule.php | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/classes/CartRule.php b/classes/CartRule.php index 74790a742..8d828dd43 100644 --- a/classes/CartRule.php +++ b/classes/CartRule.php @@ -1000,20 +1000,12 @@ class CartRuleCore extends ObjectModel WHERE id_cart = '.(int)$context->cart->id.' ) ) + AND cr.id_cart_rule NOT IN (SELECT id_cart_rule FROM '._DB_PREFIX_.'cart_cart_rule WHERE id_cart = '.(int)$context->cart->id.') ORDER BY priority'); $cartRules = ObjectModel::hydrateCollection('CartRule', $result); - - // Todo: consider optimization (we can avoid many queries in checkValidity) foreach ($cartRules as $cartRule) - if (Db::getInstance()->getValue('SELECT count(*) - FROM '._DB_PREFIX_.'cart_cart_rule - WHERE id_cart = '.(int)$context->cart->id.' - AND id_cart_rule = '.(int)$cartRule->id)) - $context->cart->removeCartRule($cartRule->id); - - foreach ($cartRules as $cartRule) - if ($cartRule->checkValidity($context, true, false)) + if ($cartRule->checkValidity($context, false, false)) $context->cart->addCartRule($cartRule->id); }