[-] Project : #PSFV-820 - Cartrules are now reapplied each time we add/remove a product on/from the cart

This commit is contained in:
mDeflotte
2012-04-19 09:39:14 +00:00
parent 264cce99c2
commit 0cb73f9e13
6 changed files with 80 additions and 50 deletions
@@ -168,8 +168,11 @@ class AdminCartRulesControllerCore extends AdminController
{
Db::getInstance()->execute('UPDATE `'._DB_PREFIX_.'cart_rule` SET cart_rule_restriction = 1 WHERE id_cart_rule = '.(int)$incompatibleRule['id_cart_rule'].' LIMIT 1');
Db::getInstance()->execute('
INSERT INTO `'._DB_PREFIX_.'cart_rule_combination` (`id_cart_rule_1`, `id_cart_rule_2`) (
SELECT id_cart_rule, '.(int)$incompatibleRule['id_cart_rule'].' FROM `'._DB_PREFIX_.'cart_rule` WHERE active = 1 AND id_cart_rule != '.(int)$currentObject->id.'
INSERT IGNORE INTO `'._DB_PREFIX_.'cart_rule_combination` (`id_cart_rule_1`, `id_cart_rule_2`) (
SELECT id_cart_rule, '.(int)$incompatibleRule['id_cart_rule'].' FROM `'._DB_PREFIX_.'cart_rule`
WHERE active = 1
AND id_cart_rule != '.(int)$currentObject->id.'
AND id_cart_rule != '.(int)$incompatibleRule['id_cart_rule'].'
)');
}
}
@@ -474,6 +477,7 @@ class AdminCartRulesControllerCore extends AdminController
}
}
$product = new Product($current_object->gift_product);
$this->context->smarty->assign(
array(
'show_toolbar' => true,
@@ -502,7 +506,8 @@ class AdminCartRulesControllerCore extends AdminController
'currentIndex' => self::$currentIndex,
'currentToken' => $this->token,
'currentObject' => $current_object,
'currentTab' => $this
'currentTab' => $this,
'hasAttribute' => $product->hasAttributes(),
)
);
+3 -3
View File
@@ -29,7 +29,7 @@ class AdminCartsControllerCore extends AdminController
{
public function __construct()
{
$this->table = 'cart';
$this->table = 'cart';
$this->className = 'Cart';
$this->lang = false;
$this->requiredDatabase = true;
@@ -44,7 +44,7 @@ class AdminCartsControllerCore extends AdminController
LEFT JOIN '._DB_PREFIX_.'orders o ON (o.id_cart = a.id_cart)
LEFT JOIN `'._DB_PREFIX_.'connections` co ON (a.id_guest = co.id_guest AND TIME_TO_SEC(TIMEDIFF(NOW(), co.`date_add`)) < 1800)';
$this->fields_list = array(
$this->fields_list = array(
'id_cart' => array(
'title' => $this->l('ID'),
'align' => 'center',
@@ -149,7 +149,7 @@ class AdminCartsControllerCore extends AdminController
$image = Db::getInstance()->getRow('SELECT id_image
FROM '._DB_PREFIX_.'product_attribute_image
WHERE id_product_attribute = '.(int)$product['id_product_attribute']);
if (!isset($image['id_image']))
if (!isset($image['id_image']))
$image = Db::getInstance()->getRow('SELECT id_image
FROM '._DB_PREFIX_.'image
WHERE id_product = '.(int)$product['id_product'].' AND cover = 1');