Skip to content

Commit 75e490c

Browse files
MAGETWO-68875: Shipping method radios become disabled when checkout page refreshed #9485
2 parents e468e34 + 3edb89a commit 75e490c

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

app/code/Magento/Checkout/view/frontend/web/js/model/new-customer-address.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,22 @@ define([], function () {
1010
* Returns new address object
1111
*/
1212
return function (addressData) {
13-
var identifier = Date.now();
13+
var identifier = Date.now(),
14+
regionId;
15+
16+
if (addressData.region && addressData.region.region_id) {
17+
regionId = addressData.region.region_id;
18+
} else if (addressData.country_id && addressData.country_id == window.checkoutConfig.defaultCountryId) {
19+
regionId = window.checkoutConfig.defaultRegionId || undefined;
20+
}
1421

1522
return {
1623
email: addressData.email,
1724
countryId: addressData['country_id'] || addressData.countryId || window.checkoutConfig.defaultCountryId,
18-
regionId: (addressData.region && addressData.region.region_id) ?
19-
addressData.region.region_id
20-
: window.checkoutConfig.defaultRegionId,
25+
regionId: regionId || addressData.regionId,
2126
regionCode: (addressData.region) ? addressData.region.region_code : null,
2227
region: (addressData.region) ? addressData.region.region : null,
23-
customerId: addressData.customer_id,
28+
customerId: addressData.customer_id || addressData.customerId,
2429
street: addressData.street,
2530
company: addressData.company,
2631
telephone: addressData.telephone,

app/code/Magento/Checkout/view/frontend/web/js/view/shipping.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ define(
7979
fieldsetName = 'checkout.steps.shipping-step.shippingAddress.shipping-address-fieldset';
8080

8181
this._super();
82-
shippingRatesValidator.initFields(fieldsetName);
8382

8483
if (!quote.isVirtual()) {
8584
stepNavigator.registerStep(
@@ -120,6 +119,7 @@ define(
120119
checkoutProvider.on('shippingAddress', function (shippingAddressData) {
121120
checkoutData.setShippingAddressFromData(shippingAddressData);
122121
});
122+
shippingRatesValidator.initFields(fieldsetName);
123123
});
124124

125125
return this;

app/code/Magento/Customer/view/frontend/web/js/model/customer/address.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,17 @@ define([], function() {
1010
* Returns new address object
1111
*/
1212
return function (addressData) {
13+
var regionId;
14+
15+
if (addressData.region['region_id'] && addressData.region['region_id'] !== '0') {
16+
regionId = addressData.region['region_id'] + '';
17+
}
18+
1319
return {
1420
customerAddressId: addressData.id,
1521
email: addressData.email,
1622
countryId: addressData.country_id,
17-
regionId: addressData.region_id,
23+
regionId: regionId,
1824
regionCode: addressData.region.region_code,
1925
region: addressData.region.region,
2026
customerId: addressData.customer_id,

0 commit comments

Comments
 (0)