// Fix freeshipping on backoffice Order

This commit is contained in:
rGaillard
2012-06-07 14:56:48 +00:00
parent 024b22b41e
commit 49757f537b
4 changed files with 20 additions and 8 deletions
@@ -693,7 +693,7 @@
$('#carrier_recycled_package').attr('checked', true); $('#carrier_recycled_package').attr('checked', true);
else else
$('#carrier_recycled_package').removeAttr('checked'); $('#carrier_recycled_package').removeAttr('checked');
if (jsonSummary.free_shipping) if (jsonSummary.free_shipping == 1)
$('#free_shipping').attr('checked', true); $('#free_shipping').attr('checked', true);
else else
$('#free_shipping').removeAttr('checked'); $('#free_shipping').removeAttr('checked');
+11 -2
View File
@@ -643,7 +643,16 @@ class AdminCartsControllerCore extends AdminController
$message_content = ''; $message_content = '';
if ($message = Message::getMessageByCartId((int)$this->context->cart->id)) if ($message = Message::getMessageByCartId((int)$this->context->cart->id))
$message_content = $message['message']; $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(), return array('summary' => $this->getCartSummary(),
'delivery_option_list' => $this->getDeliveryOptionList(), 'delivery_option_list' => $this->getDeliveryOptionList(),
'cart' => $this->context->cart, 'cart' => $this->context->cart,
@@ -654,7 +663,7 @@ class AdminCartsControllerCore extends AdminController
'order', false, 'order', false,
(int)$this->context->cart->id_lang, (int)$this->context->cart->id_lang,
'step=3&recover_cart='.$id_cart.'&token_cart='.md5(_COOKIE_KEY_.'recover_cart_'.$id_cart)), '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) if ($customizationList)
foreach ($customizationList as $key => $id_order_detail) foreach ($customizationList as $key => $id_order_detail)
{ {
$full_product_list[$id_order_detail] = $id_order_detail; $full_product_list[(int)$id_order_detail] = $id_order_detail;
$full_quantity_list[$id_order_detail] += $customizationQtyList[$key]; $full_quantity_list[(int)$id_order_detail] += $customizationQtyList[$key];
} }
if ($productList || $customizationList) if ($productList || $customizationList)
@@ -627,7 +627,7 @@ class AdminOrdersControllerCore extends AdminController
$order_detail = new OrderDetail((int)$id_order_detail); $order_detail = new OrderDetail((int)$id_order_detail);
if (!$order->deleteProduct($order, $order_detail, $qtyCancelProduct)) 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>'; $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) if (!count($this->errors) && $customizationList)
foreach ($customizationList as $id_customization => $id_order_detail) foreach ($customizationList as $id_customization => $id_order_detail)
+5 -2
View File
@@ -384,12 +384,15 @@ class BlockLink extends Module
{ {
$links = $this->getLinks(); $links = $this->getLinks();
$languages = Language::getLanguages(); $languages = Language::getLanguages();
$token = Tools::safeOutput(Tools::getValue('token'));
if (!Validate::isCleanHtml($token))
$token = '';
if ($links) if ($links)
{ {
$this->_html .= ' $this->_html .= '
<script type="text/javascript"> <script type="text/javascript">
var currentUrl = \''.addslashes(AdminController::$currentIndex.'&configure='.$this->name).'\'; var currentUrl = \''.Tools::safeOutput(AdminController::$currentIndex.'&configure='.$this->name).'\';
var token=\''.addslashes(Tools::getValue('token')).'\'; var token=\''.$token.'\';
var links = new Array();'; var links = new Array();';
foreach ($links as $link) foreach ($links as $link)
{ {