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();
});
});