diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/get-totals.js b/app/code/Magento/Checkout/view/frontend/web/js/action/get-totals.js index 57524a7cb404576bc19da11b30b54452833f5ab9..89bfd1342e9238e67ff3950cf75aa765d57770a5 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/get-totals.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/get-totals.js @@ -9,11 +9,11 @@ define( 'jquery', '../model/quote', 'Magento_Checkout/js/model/resource-url-manager', - 'Magento_Ui/js/model/messageList', + 'Magento_Checkout/js/model/error-processor', 'mage/storage', 'Magento_Checkout/js/model/totals' ], - function ($, quote, resourceUrlManager, messageList, storage, totals) { + function ($, quote, resourceUrlManager, errorProcessor, storage, totals) { "use strict"; return function (callbacks, deferred) { deferred = deferred || $.Deferred(); @@ -36,9 +36,8 @@ define( ).error( function (response) { totals.isLoading(false); - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); deferred.reject(); + errorProcessor.process(response); } ); diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/place-order.js b/app/code/Magento/Checkout/view/frontend/web/js/action/place-order.js index eabe01078de5e0bbeb9a788c30c21f6e313977ec..e68d89eebda1de5ae6355e622bd96211c1f6748e 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/place-order.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/place-order.js @@ -8,11 +8,11 @@ define( 'Magento_Checkout/js/model/url-builder', 'mage/storage', 'mage/url', - 'Magento_Ui/js/model/messageList', + 'Magento_Checkout/js/model/error-processor', 'Magento_Customer/js/model/customer', 'underscore' ], - function (quote, urlBuilder, storage, url, messageList, customer, _) { + function (quote, urlBuilder, storage, url, errorProcessor, customer, _) { 'use strict'; return function (paymentData, redirectOnSuccess) { @@ -50,8 +50,7 @@ define( } ).fail( function (response) { - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); + errorProcessor.process(response); } ); }; diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js b/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js index 4f1167970a41e3af06ac108be3e60aa44d63ad20..a2ba6ecb34cd0eef638a677d7bd557b9d450c37c 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/set-payment-information.js @@ -7,10 +7,10 @@ define( 'Magento_Checkout/js/model/quote', 'Magento_Checkout/js/model/url-builder', 'mage/storage', - 'Magento_Ui/js/model/messageList', + 'Magento_Checkout/js/model/error-processor', 'Magento_Customer/js/model/customer' ], - function (quote, urlBuilder, storage, messageList, customer) { + function (quote, urlBuilder, storage, errorProcessor, customer) { 'use strict'; return function () { @@ -47,8 +47,7 @@ define( } ).fail( function (response) { - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); + errorProcessor.process(response); } ); }; diff --git a/app/code/Magento/Checkout/view/frontend/web/js/model/error-processor.js b/app/code/Magento/Checkout/view/frontend/web/js/model/error-processor.js new file mode 100644 index 0000000000000000000000000000000000000000..85af889cf2b5a1d2eb35afd5f7ae0bc6fe8c91dd --- /dev/null +++ b/app/code/Magento/Checkout/view/frontend/web/js/model/error-processor.js @@ -0,0 +1,24 @@ +/** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +define( + [ + 'mage/url', + 'Magento_Ui/js/model/messageList' + ], + function (url, messageList) { + 'use strict'; + + return { + process: function (response) { + if (response.status == 401) { + window.location.replace(url.build('customer/account/login/')); + } else { + var error = JSON.parse(response.responseText); + messageList.addErrorMessage(error); + } + } + }; + } +); diff --git a/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/customer-address.js b/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/customer-address.js index 068891a5286964d5dedb4b8812669e45a6f3b5ca..19d7575249fbb7be05509f66620a9835bfe41e24 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/customer-address.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/customer-address.js @@ -10,9 +10,9 @@ define( 'mage/storage', 'Magento_Checkout/js/model/shipping-service', 'Magento_Checkout/js/model/shipping-rate-registry', - 'Magento_Ui/js/model/messageList' + 'Magento_Checkout/js/model/error-processor' ], - function (resourceUrlManager, quote, storage, shippingService, rateRegistry, messageList) { + function (resourceUrlManager, quote, storage, shippingService, rateRegistry, errorProcessor) { "use strict"; return { getRates: function(address) { @@ -35,9 +35,8 @@ define( ).fail( function(response) { - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); - shippingService.setShippingRates([]) + shippingService.setShippingRates([]); + errorProcessor.process(response); } ).always( function () { diff --git a/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/new-address.js b/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/new-address.js index db5052ca0c39f44ddf2ed115ac1d7d94631f2c34..7c0f201cd0af4fc072a4b4d9b5883bcf83925939 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/new-address.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rate-processor/new-address.js @@ -9,9 +9,9 @@ define( 'mage/storage', 'Magento_Checkout/js/model/shipping-service', 'Magento_Checkout/js/model/shipping-rate-registry', - 'Magento_Ui/js/model/messageList' + 'Magento_Checkout/js/model/error-processor' ], - function (resourceUrlManager, quote, storage, shippingService, rateRegistry, messageList) { + function (resourceUrlManager, quote, storage, shippingService, rateRegistry, errorProcessor) { 'use strict'; return { @@ -45,9 +45,8 @@ define( } ).fail( function (response) { - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); shippingService.setShippingRates([]); + errorProcessor.process(response); } ).always( function () { diff --git a/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-save-processor/default.js b/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-save-processor/default.js index 7233d429dc0691907a04b174452db883dbdc24df..e9e63e280773c84372f2a42bcf9428f67febba77 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-save-processor/default.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/model/shipping-save-processor/default.js @@ -11,9 +11,9 @@ define( 'mage/storage', 'Magento_Checkout/js/model/payment-service', 'Magento_Checkout/js/model/payment/method-converter', - 'Magento_Ui/js/model/messageList' + 'Magento_Checkout/js/model/error-processor' ], - function (ko, quote, resourceUrlManager, storage, paymentService, methodConverter, messageList) { + function (ko, quote, resourceUrlManager, storage, paymentService, methodConverter, errorProcessor) { 'use strict'; return { @@ -36,8 +36,7 @@ define( } ).fail( function (response) { - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); + errorProcessor.process(response); } ); } diff --git a/app/code/Magento/Customer/view/frontend/web/js/model/customer.js b/app/code/Magento/Customer/view/frontend/web/js/model/customer.js index 25654444d6cc5ee783b134afdf41c44eaac28bdf..c6a87925dea8ebb2d02e2efbd1ef95264c06fc1b 100644 --- a/app/code/Magento/Customer/view/frontend/web/js/model/customer.js +++ b/app/code/Magento/Customer/view/frontend/web/js/model/customer.js @@ -8,10 +8,9 @@ define( 'jquery', 'ko', 'underscore', - 'mage/storage', './address-list' ], - function($, ko, _, storage, addressList) { + function($, ko, _, addressList) { "use strict"; var isLoggedIn = ko.observable(window.isCustomerLoggedIn), customerData = {}; diff --git a/app/code/Magento/GiftMessage/view/frontend/web/js/action/gift-options.js b/app/code/Magento/GiftMessage/view/frontend/web/js/action/gift-options.js index 51e72540458efd1cd3a3f8fe564f148e9357a0b7..29f9240dec25c3f92a5b40ff654cce13d1bf4cf4 100644 --- a/app/code/Magento/GiftMessage/view/frontend/web/js/action/gift-options.js +++ b/app/code/Magento/GiftMessage/view/frontend/web/js/action/gift-options.js @@ -8,9 +8,10 @@ define( '../model/url-builder', 'mage/storage', 'Magento_Ui/js/model/messageList', + 'Magento_Checkout/js/model/error-processor', 'mage/url' ], - function(urlBuilder, storage, messageList, url) { + function(urlBuilder, storage, messageList, errorProcessor, url) { "use strict"; return function(giftMessage, remove) { url.setBaseUrl(giftMessage.getConfigValue('baseUrl')); @@ -48,8 +49,7 @@ define( } ).fail( function(response) { - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); + errorProcessor.process(response); } ); }; diff --git a/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js b/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js index 80a6488fb285a34fcf91dc07693843ce731ed85f..8e52ec04063d8c6e0fe481bc8a35a7478a170bea 100644 --- a/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js +++ b/app/code/Magento/SalesRule/view/frontend/web/js/action/cancel-coupon.js @@ -14,11 +14,11 @@ define( 'Magento_Checkout/js/model/quote', 'Magento_Checkout/js/model/resource-url-manager', 'Magento_Checkout/js/model/payment-service', - 'Magento_Ui/js/model/messageList', + 'Magento_Checkout/js/model/error-processor', 'mage/storage', 'Magento_Checkout/js/action/get-totals' ], - function (ko, $, quote, urlManager, paymentService, messageList, storage, getTotalsAction) { + function (ko, $, quote, urlManager, paymentService, errorProcessor, storage, getTotalsAction) { 'use strict'; return function (isApplied, isLoading) { var quoteId = quote.getQuoteId(); @@ -39,11 +39,10 @@ define( ); }); } - ).error( + ).fail( function (response) { isLoading(false); - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); + errorProcessor.process(response); } ); }; diff --git a/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js b/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js index a76500e4517208b0a166af5a7162b17ddcad9099..f723e038136d62cafd648952f27f3b9d23f1f5ca 100644 --- a/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js +++ b/app/code/Magento/SalesRule/view/frontend/web/js/action/set-coupon-code.js @@ -14,11 +14,11 @@ define( 'Magento_Checkout/js/model/quote', 'Magento_Checkout/js/model/resource-url-manager', 'Magento_Checkout/js/model/payment-service', - 'Magento_Ui/js/model/messageList', + 'Magento_Checkout/js/model/error-processor', 'mage/storage', 'Magento_Checkout/js/action/get-totals' ], - function (ko, $, quote, urlManager, paymentService, messageList, storage, getTotalsAction) { + function (ko, $, quote, urlManager, paymentService, errorProcessor, storage, getTotalsAction) { 'use strict'; return function (couponCode, isApplied, isLoading) { var quoteId = quote.getQuoteId(); @@ -42,11 +42,10 @@ define( }); } } - ).error( + ).fail( function (response) { isLoading(false); - var error = JSON.parse(response.responseText); - messageList.addErrorMessage(error); + errorProcessor.process(response); } ); };