// fix bug on Cart rule update in validateOrder

This commit is contained in:
aFolletete
2011-12-17 17:13:48 +00:00
parent 0ee826d901
commit 6af99d043a
2 changed files with 19 additions and 2 deletions
+7 -2
View File
@@ -324,9 +324,14 @@ abstract class PaymentModuleCore extends Module
}
$order->addCartRule($cartRule->id, $cartRule->name, $value);
if ($id_order_state != Configuration::get('PS_OS_ERROR') AND $id_order_state != Configuration::get('PS_OS_CANCELED'))
$cartRule->quantity = $cartRule->quantity - 1;
$cartRule->update();
{
// Create a new instance of Cart Rule without id_lang, in order to update it quantity
$cart_rule_to_update = new CartRule($cartRule->id);
$cart_rule_to_update->quantity = $cart_rule_to_update->quantity - 1;
$cart_rule_to_update->update();
}
$cartRulesList .= '
<tr style="background-color:#EBECEE;">
+12
View File
@@ -975,6 +975,11 @@ class OrderCore extends ObjectModel
/**
* @deprecated 1.5.0.1
* @see Order::addCartRule()
* @param $id_cart_rule
* @param $name
* @param $value
* @return bool
*/
public function addDiscount($id_cart_rule, $name, $value)
{
@@ -982,6 +987,13 @@ class OrderCore extends ObjectModel
return Order::addCartRule($id_cart_rule, $name, $value);
}
/**
* @since 1.5.0.1
* @param $id_cart_rule
* @param $name
* @param $value
* @return bool
*/
public function addCartRule($id_cart_rule, $name, $value)
{
return Db::getInstance()->AutoExecute(_DB_PREFIX_.'order_cart_rule', array('id_order' => (int)$this->id, 'id_cart_rule' => (int)$id_cart_rule, 'name' => pSQL($name), 'value' => (float)$value), 'INSERT');