123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * @api
- */
- define(
- [
- 'jquery',
- 'Magento_Checkout/js/model/quote',
- 'Magento_Checkout/js/model/url-builder',
- 'mage/storage',
- 'Magento_Checkout/js/model/error-processor',
- 'Magento_Customer/js/model/customer',
- 'Magento_Checkout/js/model/full-screen-loader',
- 'Magento_Checkout/js/action/get-payment-information'
- ],
- function ($,
- quote,
- urlBuilder,
- storage,
- errorProcessor,
- customer,
- fullScreenLoader,
- getPaymentInformationAction
- ) {
- 'use strict';
- return function (messageContainer) {
- var serviceUrl,
- payload;
- /**
- * Checkout for guest and registered customer.
- */
- if (!customer.isLoggedIn()) {
- serviceUrl = urlBuilder.createUrl('/guest-carts/:cartId/billing-address', {
- cartId: quote.getQuoteId()
- });
- payload = {
- cartId: quote.getQuoteId(),
- address: quote.billingAddress()
- };
- } else {
- serviceUrl = urlBuilder.createUrl('/carts/mine/billing-address', {});
- payload = {
- cartId: quote.getQuoteId(),
- address: quote.billingAddress()
- };
- }
- fullScreenLoader.startLoader();
- return storage.post(
- serviceUrl, JSON.stringify(payload)
- ).done(
- function () {
- var deferred = $.Deferred();
- getPaymentInformationAction(deferred);
- $.when(deferred).done(function () {
- fullScreenLoader.stopLoader();
- });
- }
- ).fail(
- function (response) {
- errorProcessor.process(response, messageContainer);
- fullScreenLoader.stopLoader();
- }
- );
- };
- }
- );
|