[-] FO : fixed group query for cart rules #PSCFV-8992

This commit is contained in:
Damien Metzger
2013-07-18 13:47:43 +02:00
parent 69066361a6
commit 6293631ac4
+14 -13
View File
@@ -1104,29 +1104,30 @@ class CartRuleCore extends ObjectModel
'.($context->customer->id ? 'OR cr.id_customer = '.(int)$context->cart->id_customer : '').' '.($context->customer->id ? 'OR cr.id_customer = '.(int)$context->cart->id_customer : '').'
) )
AND ( AND (
cr.carrier_restriction = 0 cr.`carrier_restriction` = 0
'.($context->cart->id_carrier ? 'OR c.id_carrier = '.(int)$context->cart->id_carrier : '').' '.($context->cart->id_carrier ? 'OR c.id_carrier = '.(int)$context->cart->id_carrier : '').'
) )
AND ( AND (
cr.shop_restriction = 0 cr.`shop_restriction` = 0
'.((Shop::isFeatureActive() && $context->shop->id) ? 'OR crs.id_shop = '.(int)$context->shop->id : '').' '.((Shop::isFeatureActive() && $context->shop->id) ? 'OR crs.id_shop = '.(int)$context->shop->id : '').'
) )
AND ( AND (
cr.group_restriction = 0 cr.`group_restriction` = 0
'.($context->customer->id ? 'OR 0 < ( '.($context->customer->id ? 'OR 0 < (
SELECT cg.id_group SELECT cg.`id_group`
FROM '._DB_PREFIX_.'customer_group cg FROM `'._DB_PREFIX_.'customer_group` cg
LEFT JOIN '._DB_PREFIX_.'cart_rule_group crg ON (cg.id_group = crg.id_group AND cg.id_group = '.(int)$context->customer->id_default_group.') INNER JOIN `'._DB_PREFIX_.'cart_rule_group` crg ON cg.id_group = crg.id_group
WHERE cr.id_cart_rule = crg.id_cart_rule WHERE cr.`id_cart_rule` = crg.`id_cart_rule`
AND cg.id_customer = '.(int)$context->customer->id.' LIMIT 1 AND cg.`id_customer` = '.(int)$context->customer->id.'
LIMIT 1
)' : '').' )' : '').'
) )
AND ( AND (
cr.reduction_product <= 0 cr.`reduction_product` <= 0
OR cr.reduction_product IN ( OR cr.`reduction_product` IN (
SELECT id_product SELECT `id_product`
FROM '._DB_PREFIX_.'cart_product FROM `'._DB_PREFIX_.'cart_product`
WHERE id_cart = '.(int)$context->cart->id.' 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.') AND cr.id_cart_rule NOT IN (SELECT id_cart_rule FROM '._DB_PREFIX_.'cart_cart_rule WHERE id_cart = '.(int)$context->cart->id.')