app/assets/javascripts/spree/backend/checkouts/edit.js in spree_backend-3.2.9 vs app/assets/javascripts/spree/backend/checkouts/edit.js in spree_backend-3.3.0.rc1

- old
+ new

@@ -1,6 +1,16 @@ //= require_self + +var clear_address_fields = function() { + var fields = ['firstname', 'lastname', 'company', 'address1', 'address2', + 'city', 'zipcode', 'state_id', 'country_id', 'phone']; + $.each(fields, function(i, field) { + $('#order_bill_address_attributes_' + field).val(''); + $('#order_ship_address_attributes_' + field).val(''); + }); +}; + $(document).ready(function() { if ($('#customer_autocomplete_template').length > 0) { window.customerTemplate = Handlebars.compile($('#customer_autocomplete_template').text()); } @@ -10,27 +20,20 @@ bill_address: customer.bill_address, ship_address: customer.ship_address }) } - if ($("#customer_search").length > 0) { - $("#customer_search").select2({ + if ($('#customer_search').length > 0) { + $('#customer_search').select2({ placeholder: Spree.translations.choose_a_customer, ajax: { url: Spree.routes.users_api, datatype: 'json', cache: true, data: function(term, page) { return { - q: { - 'm': 'or', - 'email_start': term, - 'ship_address_firstname_start': term, - 'ship_address_lastname_start': term, - 'bill_address_firstname_start': term, - 'bill_address_lastname_start': term - }, + q: term, token: Spree.api_key } }, results: function(data, page) { return { results: data.users } @@ -38,14 +41,14 @@ }, dropdownCssClass: 'customer_search', formatResult: formatCustomerResult, formatSelection: function (customer) { $('#order_email').val(customer.email); - $('#user_id').val(customer.id); - $('#guest_checkout_true').prop("checked", false); - $('#guest_checkout_false').prop("checked", true); - $('#guest_checkout_false').prop("disabled", false); + $('#order_user_id').val(customer.id); + $('#guest_checkout_true').prop('checked', false); + $('#guest_checkout_false').prop('checked', true); + $('#guest_checkout_false').prop('disabled', false); var billAddress = customer.bill_address; if(billAddress) { $('#order_bill_address_attributes_firstname').val(billAddress.firstname); $('#order_bill_address_attributes_lastname').val(billAddress.lastname); @@ -53,15 +56,17 @@ $('#order_bill_address_attributes_address2').val(billAddress.address2); $('#order_bill_address_attributes_city').val(billAddress.city); $('#order_bill_address_attributes_zipcode').val(billAddress.zipcode); $('#order_bill_address_attributes_phone').val(billAddress.phone); - $('#order_bill_address_attributes_country_id').select2("val", billAddress.country_id).promise().done(function () { + $('#order_bill_address_attributes_country_id').select2('val', billAddress.country_id).promise().done(function () { update_state('b', function () { - $('#order_bill_address_attributes_state_id').select2("val", billAddress.state_id); + $('#order_bill_address_attributes_state_id').select2('val', billAddress.state_id); }); }); + } else { + clear_address_fields(); } return Select2.util.escapeMarkup(customer.email); } }) } @@ -81,17 +86,11 @@ }); order_use_billing(); $('#guest_checkout_true').change(function() { - $('#customer_search').val(""); - $('#user_id').val(""); - $('#checkout_email').val(""); - - var fields = ["firstname", "lastname", "company", "address1", "address2", - "city", "zipcode", "state_id", "country_id", "phone"] - $.each(fields, function(i, field) { - $('#order_bill_address_attributes' + field).val(""); - $('#order_ship_address_attributes' + field).val(""); - }) + $('#customer_search').val(''); + $('#order_user_id').val(''); + $('#order_email').val(''); + clear_address_fields(); }); });