From 96e5d1dcb7c601ad22fe8adf0bc35afec5f99e1b Mon Sep 17 00:00:00 2001 From: mDeflotte Date: Tue, 6 Dec 2011 16:03:00 +0000 Subject: [PATCH] // BugFix in checkout with multishipping on step address --- themes/default/js/order-address.js | 15 ++-- .../default/order-address-multishipping.tpl | 90 +++++++++---------- 2 files changed, 53 insertions(+), 52 deletions(-) diff --git a/themes/default/js/order-address.js b/themes/default/js/order-address.js index 8064860ff..504178f20 100644 --- a/themes/default/js/order-address.js +++ b/themes/default/js/order-address.js @@ -60,7 +60,7 @@ function updateAddressesDisplay(first_view) else { $('#address_invoice_form:hidden').show('fast'); - if ($('select#id_address_invoice').val()) + if ($('#id_address_invoice').val()) updateAddressDisplay('invoice'); else { @@ -82,20 +82,23 @@ function updateAddressDisplay(addressType) if (formatedAddressFieldsValuesList.length <= 0) return false; - var idAddress = $('select#id_address_' + addressType + '').val(); + var idAddress = $('#id_address_' + addressType + '').val(); buildAddressBlock(idAddress, addressType, $('#address_'+ addressType)); // change update link var link = $('ul#address_' + addressType + ' li.address_update a').attr('href'); var expression = /id_address=\d+/; - link = link.replace(expression, 'id_address='+idAddress); - $('ul#address_' + addressType + ' li.address_update a').attr('href', link); + if (link) + { + link = link.replace(expression, 'id_address='+idAddress); + $('ul#address_' + addressType + ' li.address_update a').attr('href', link); + } } function updateAddresses() { - var idAddress_delivery = $('select#id_address_delivery').val(); - var idAddress_invoice = $('input[type=checkbox]#addressesAreEquals:checked').length == 1 ? idAddress_delivery : $('select#id_address_invoice').val(); + var idAddress_delivery = $('#id_address_delivery').val(); + var idAddress_invoice = $('input[type=checkbox]#addressesAreEquals:checked').length == 1 ? idAddress_delivery : $('#id_address_invoice').val(); $.ajax({ type: 'POST', diff --git a/themes/default/order-address-multishipping.tpl b/themes/default/order-address-multishipping.tpl index eb6dc1467..62ff7973e 100644 --- a/themes/default/order-address-multishipping.tpl +++ b/themes/default/order-address-multishipping.tpl @@ -23,6 +23,13 @@ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} + +{if $opc} + {assign var="back_order_page" value="order-opc.php"} +{else} + {assign var="back_order_page" value="order.php"} +{/if} + {* Will be deleted for 1.5 version and more *} {if !isset($formatedAddressFieldsValuesList)} {$ignoreList.0 = "id_address"} @@ -68,32 +75,32 @@ {foreach from=$formatedAddressFieldsValuesList key=id_address item=type} formatedAddressFieldsValuesList[{$id_address}] = - {ldelim} + { 'ordered_fields':[ {foreach from=$type.ordered_fields key=num_field item=field_name name=inv_loop} {if !$smarty.foreach.inv_loop.first},{/if}"{$field_name}" {/foreach} ], - 'formated_fields_values':{ldelim} - {foreach from=$type.formated_fields_values key=pattern_name item=field_name name=inv_loop} - {if !$smarty.foreach.inv_loop.first},{/if}"{$pattern_name}":"{$field_name}" - {/foreach} - {rdelim} - {rdelim} + 'formated_fields_values':{ + {foreach from=$type.formated_fields_values key=pattern_name item=field_name name=inv_loop} + {if !$smarty.foreach.inv_loop.first},{/if}"{$pattern_name}":"{$field_name}" + {/foreach} + } + } {/foreach} function getAddressesTitles() - {ldelim} - return {ldelim} - 'invoice': "{l s='Your billing address'}", - 'delivery': "{l s='Your delivery address'}" - {rdelim}; + { + return { + 'invoice': "{l s='Your billing address'}", + 'delivery': "{l s='Your delivery address'}" + }; - {rdelim} + } function buildAddressBlock(id_address, address_type, dest_comp) - {ldelim} + { var adr_titles_vals = getAddressesTitles(); var li_content = formatedAddressFieldsValuesList[id_address]['formated_fields_values']; var ordered_fields_name = ['title']; @@ -107,26 +114,26 @@ li_content['update'] = '{l s='Update'}'; appendAddressList(dest_comp, li_content, ordered_fields_name); - {rdelim} + } function appendAddressList(dest_comp, values, fields_name) - {ldelim} + { for (var item in fields_name) - {ldelim} + { var name = fields_name[item]; var value = getFieldValue(name, values); if (value != "") - {ldelim} - var new_li = document.createElement('li'); - new_li.className = 'address_'+ name; - new_li.innerHTML = getFieldValue(name, values); - dest_comp.append(new_li); - {rdelim} - {rdelim} - {rdelim} + { + var new_li = document.createElement('li'); + new_li.className = 'address_'+ name; + new_li.innerHTML = getFieldValue(name, values); + dest_comp.append(new_li); + } + } + } function getFieldValue(field_name, values) - {ldelim} + { var reg=new RegExp("[ ]+", "g"); var items = field_name.split(reg); @@ -135,7 +142,7 @@ for (var field_item in items) vals.push(values[items[field_item]]); return vals.join(" "); - {rdelim} + } //]]> @@ -145,7 +152,7 @@ {include file="$tpl_dir./breadcrumb.tpl"} {/if} -{if !$opc}

{l s='Addresses'}

{else}

1. {l s='Addresses'}

{/if} +{if !$opc}

{l s='Addresses'}

{else}

1 {l s='Addresses'}

{/if} {if !$opc} {assign var='current_step' value='address'} @@ -159,40 +166,31 @@
{/if} -
- +

id_address_invoice == $cart->id_address_delivery}style="display: none;"{/if}> - {if $addresses|@count > 1} + {if $addresses|@count >= 1} - {else} - {if $back} - {l s='Add a new address'} - {else} - {l s='Add a new address'} - {/if} - {/if} + {else} + {l s='Add a new address'} + {/if}

-