diff --git a/controllers/front/AuthController.php b/controllers/front/AuthController.php index 7e4278009..60ee95620 100644 --- a/controllers/front/AuthController.php +++ b/controllers/front/AuthController.php @@ -116,6 +116,11 @@ class AuthControllerCore extends FrontController if (Tools::getValue('create_account')) $this->context->smarty->assign('email_create', 1); + if (Tools::getValue('multi-shipping') == 1) + $this->context->smarty->assign('multi_shipping', true); + else + $this->context->smarty->assign('multi_shipping', false); + $this->assignAddressFormat(); // Call a hook to display more information on form @@ -296,6 +301,7 @@ class AuthControllerCore extends FrontController $this->context->cart->id_address_invoice = Address::getFirstCustomerAddressId((int)($customer->id)); $this->context->cart->secure_key = $customer->secure_key; $this->context->cart->update(); + // Add customer to the context $this->context->customer = $customer; @@ -307,7 +313,7 @@ class AuthControllerCore extends FrontController if (!$this->ajax) { if ($back = Tools::getValue('back')) - Tools::redirect($back); + Tools::redirect(html_entity_decode($back)); Tools::redirect('index.php?controller=my-account'); } } @@ -404,7 +410,7 @@ class AuthControllerCore extends FrontController } // redirection: if cart is not empty : redirection to the cart if (count($this->context->cart->getProducts(true)) > 0) - Tools::redirect('index.php?controller=order'); + Tools::redirect('index.php?controller=order&multi-shipping='.(int)Tools::getValue('multi-shipping')); // else : redirection to the account else Tools::redirect('index.php?controller=my-account'); @@ -545,7 +551,7 @@ class AuthControllerCore extends FrontController Tools::redirect('index.php?controller=my-account'); // redirection: if cart is not empty : redirection to the cart if (count($this->context->cart->getProducts(true)) > 0) - Tools::redirect('index.php?controller=order'); + Tools::redirect('index.php?controller=order&multi-shipping='.(int)Tools::getValue('multi-shipping')); // else : redirection to the account else Tools::redirect('index.php?controller=my-account'); diff --git a/controllers/front/OrderController.php b/controllers/front/OrderController.php index 6c59b32cf..4a96ba66a 100644 --- a/controllers/front/OrderController.php +++ b/controllers/front/OrderController.php @@ -63,7 +63,7 @@ class OrderControllerCore extends ParentOrderController } if (!$this->context->customer->isLogged(true) && in_array($this->step, array(1, 2, 3))) - Tools::redirect('index.php?controller=authentication&back='.urlencode('order.php&step='.$this->step)); + Tools::redirect('index.php?controller=authentication&back='.urlencode('order.php&step='.$this->step.'&multi-shipping='.(int)Tools::getValue('multi-shipping')).'&multi-shipping='.(int)Tools::getValue('multi-shipping')); if (Tools::getValue('multi-shipping') == 1) $this->context->smarty->assign('multi_shipping', true); diff --git a/controllers/front/ParentOrderController.php b/controllers/front/ParentOrderController.php index 19145193b..31b5eb98b 100644 --- a/controllers/front/ParentOrderController.php +++ b/controllers/front/ParentOrderController.php @@ -325,7 +325,7 @@ class ParentOrderControllerCore extends FrontController Tools::redirect(''); } else if (!Customer::getAddressesTotalById($this->context->customer->id)) - Tools::redirect('index.php?controller=address&back=order.php&step=1'); + Tools::redirect('index.php?controller=address&back=order.php&step=1&multi-shipping='.(int)Tools::getValue('multi-shipping')); $customer = $this->context->customer; if (Validate::isLoadedObject($customer)) { diff --git a/themes/default/js/cart-summary.js b/themes/default/js/cart-summary.js index 28283b886..d4d5fc7be 100644 --- a/themes/default/js/cart-summary.js +++ b/themes/default/js/cart-summary.js @@ -646,4 +646,15 @@ $(document).ready(function() { }); $('#gift').checkboxChange(function() { $('#gift_div').show('slow'); }, function() { $('#gift_div').hide('slow'); }); + + $('#enable-multishipping').checkboxChange( + function() { + $('.standard-checkout').hide(0); + $('.multishipping-checkout').show(0); + }, + function() { + $('.standard-checkout').show(0); + $('.multishipping-checkout').hide(0); + } + ); }); diff --git a/themes/default/shopping-cart.tpl b/themes/default/shopping-cart.tpl index e2015f3fe..a5b3b31b8 100644 --- a/themes/default/shopping-cart.tpl +++ b/themes/default/shopping-cart.tpl @@ -321,34 +321,20 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - +{if !$cart->isAllProductsInStock()} +

+ allow_seperated_package}checked="checked"{/if} /> + +

+{/if} +{if !$opc} + {if Configuration::get('PS_ALLOW_MULTISHIPPING')} +

+ + +

+ {/if} +{/if}
{$HOOK_SHOPPING_CART}
@@ -415,9 +401,9 @@ {/if}

{if !$opc} - {l s='Next'} » - {if {Configuration::get('PS_ALLOW_MULTISHIPPING')}} - {l s='Multi-shipping'} » + {l s='Next'} » + {if Configuration::get('PS_ALLOW_MULTISHIPPING')} + {l s='Next'} » {/if} {/if} « {l s='Continue shopping'}