// Fix freeshipping on backoffice Order

This commit is contained in:
rGaillard
2012-06-07 14:56:48 +00:00
parent 67eae47773
commit bda57ed9bf
4 changed files with 20 additions and 8 deletions
+11 -2
View File
@@ -643,7 +643,16 @@ class AdminCartsControllerCore extends AdminController
$message_content = '';
if ($message = Message::getMessageByCartId((int)$this->context->cart->id))
$message_content = $message['message'];
$cart_rules = $this->context->cart->getCartRules(CartRule::FILTER_ACTION_SHIPPING);
$free_shipping = false;
if (count($cart_rules))
foreach ($cart_rules as $cart_rule)
if ($cart_rule['id_cart_rule'] == CartRule::getIdByCode('BO_ORDER_'.(int)$this->context->cart->id))
{
$free_shipping = true;
break;
}
return array('summary' => $this->getCartSummary(),
'delivery_option_list' => $this->getDeliveryOptionList(),
'cart' => $this->context->cart,
@@ -654,7 +663,7 @@ class AdminCartsControllerCore extends AdminController
'order', false,
(int)$this->context->cart->id_lang,
'step=3&recover_cart='.$id_cart.'&token_cart='.md5(_COOKIE_KEY_.'recover_cart_'.$id_cart)),
'free_shipping' => (bool)CartRule::getIdByCode('BO_ORDER_'.(int)$this->context->cart->id)
'free_shipping' => (int)$free_shipping
);
}
+3 -3
View File
@@ -521,8 +521,8 @@ class AdminOrdersControllerCore extends AdminController
if ($customizationList)
foreach ($customizationList as $key => $id_order_detail)
{
$full_product_list[$id_order_detail] = $id_order_detail;
$full_quantity_list[$id_order_detail] += $customizationQtyList[$key];
$full_product_list[(int)$id_order_detail] = $id_order_detail;
$full_quantity_list[(int)$id_order_detail] += $customizationQtyList[$key];
}
if ($productList || $customizationList)
@@ -627,7 +627,7 @@ class AdminOrdersControllerCore extends AdminController
$order_detail = new OrderDetail((int)$id_order_detail);
if (!$order->deleteProduct($order, $order_detail, $qtyCancelProduct))
$this->errors[] = Tools::displayError('An error occurred during deletion of the product.').' <span class="bold">'.$order_detail->product_name.'</span>';
Hook::exec('actionProductCancel', array('order' => $order, 'id_order_detail' => $id_order_detail));
Hook::exec('actionProductCancel', array('order' => $order, 'id_order_detail' => (int)$id_order_detail));
}
if (!count($this->errors) && $customizationList)
foreach ($customizationList as $id_customization => $id_order_detail)