diff --git a/admin-dev/themes/default/template/controllers/orders/form.tpl b/admin-dev/themes/default/template/controllers/orders/form.tpl index a8cf7e9cd..bf78bbb83 100755 --- a/admin-dev/themes/default/template/controllers/orders/form.tpl +++ b/admin-dev/themes/default/template/controllers/orders/form.tpl @@ -60,7 +60,7 @@ $('#id_lang').change(function() { updateLang(); }); - $('#delivery_option,#carrier_recycled_package,#order_gift,#gift_message').change(function() { + $('#delivery_option,#carrier_recycled_package,#order_gift,#gift_message,#id_address_delivery').change(function() { updateDeliveryOption(); }); $('#shipping_price').change(function() { diff --git a/controllers/admin/AdminCartsController.php b/controllers/admin/AdminCartsController.php index c57dd6b49..f6c52107c 100755 --- a/controllers/admin/AdminCartsController.php +++ b/controllers/admin/AdminCartsController.php @@ -216,7 +216,7 @@ class AdminCartsControllerCore extends AdminController $this->context->cart->id_address_delivery = $addresses[0]['id_address']; elseif ($id_address_delivery) $this->context->cart->id_address_delivery = (int)$id_address_delivery; - + $this->context->cart->save(); $currency = new Currency((int)$this->context->cart->id_currency); $this->context->currency = $currency; @@ -482,10 +482,12 @@ class AdminCartsControllerCore extends AdminController if (!count($delivery_option_list)) return array(); + $id_default_carrier = (int)Configuration::get('PS_CARRIER_DEFAULT'); foreach (current($delivery_option_list) as $key => $delivery_option) { $name = ''; $first = true; + $id_default_carrier_delivery = false; foreach ($delivery_option['carrier_list'] as $carrier) { if (!$first) @@ -497,6 +499,16 @@ class AdminCartsControllerCore extends AdminController if ($delivery_option['unique_carrier']) $name .= ' - '.$carrier['instance']->delay[$this->context->employee->id_lang]; + + if (!$id_default_carrier_delivery) + $id_default_carrier_delivery = (int)$carrier['instance']->id; + if ($carrier['instance']->id == $id_default_carrier) + $id_default_carrier_delivery = $id_default_carrier; + if (!$this->context->cart->id_carrier) + { + $this->context->cart->setDeliveryOption(array($this->context->cart->id_address_delivery => (int)$carrier['instance']->id.',')); + $this->context->cart->save(); + } } $delivery_option_list_formated[] = array('name' => $name, 'key' => $key); }