![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sales-rule/view/frontend/web/js/action/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Customer store credit(balance) application */ define([ 'jquery', 'Magento_Checkout/js/model/quote', 'Magento_Checkout/js/model/resource-url-manager', 'Magento_Checkout/js/model/error-processor', 'Magento_SalesRule/js/model/payment/discount-messages', 'mage/storage', 'Magento_Checkout/js/action/get-payment-information', 'Magento_Checkout/js/model/totals', 'mage/translate', 'Magento_Checkout/js/model/full-screen-loader', 'Magento_Checkout/js/action/recollect-shipping-rates' ], function ($, quote, urlManager, errorProcessor, messageContainer, storage, getPaymentInformationAction, totals, $t, fullScreenLoader, recollectShippingRates ) { 'use strict'; var successCallbacks = [], action, callSuccessCallbacks; /** * Execute callbacks when a coupon is successfully canceled. */ callSuccessCallbacks = function () { successCallbacks.forEach(function (callback) { callback(); }); }; /** * Cancel applied coupon. * * @param {Boolean} isApplied * @returns {Deferred} */ action = function (isApplied) { var quoteId = quote.getQuoteId(), url = urlManager.getCancelCouponUrl(quoteId), message = $t('Your coupon was successfully removed.'); messageContainer.clear(); fullScreenLoader.startLoader(); return storage.delete( url, false ).done(function () { var deferred = $.Deferred(); totals.isLoading(true); recollectShippingRates(); getPaymentInformationAction(deferred); $.when(deferred).done(function () { isApplied(false); totals.isLoading(false); fullScreenLoader.stopLoader(); //Allowing to tap into coupon-cancel process. callSuccessCallbacks(); }); messageContainer.addSuccessMessage({ 'message': message }); }).fail(function (response) { totals.isLoading(false); fullScreenLoader.stopLoader(); errorProcessor.process(response, messageContainer); }); }; /** * Callback for when the cancel-coupon process is finished. * * @param {Function} callback */ action.registerSuccessCallback = function (callback) { successCallbacks.push(callback); }; return action; });