From 96793feaf7d4e8b3524ae859cae55fec880e41ff Mon Sep 17 00:00:00 2001 From: Wojtek Naruniec Date: Mon, 18 Feb 2019 13:16:20 +0100 Subject: [PATCH 1/3] Skip cart validation if empty cart action is executed --- .../view/frontend/web/js/action/update-shopping-cart.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js b/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js index ce1527b3d72d6..9d79e34b10f17 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js @@ -35,6 +35,11 @@ define([ return true; } + var action = this.element.find('#update_cart_action_container').val(); + if (action === 'empty_cart') { + return true; + } + if (this.isValid()) { event.preventDefault(); this.validateItems(this.options.validationURL, this.element.serialize()); From f82299b746f6f7846d98693d343f6633e430c5c9 Mon Sep 17 00:00:00 2001 From: Wojtek Naruniec Date: Fri, 22 Feb 2019 10:17:42 +0100 Subject: [PATCH 2/3] Move element id to component parameters, fix JS coding style --- .../Checkout/view/frontend/templates/cart/form.phtml | 3 ++- .../view/frontend/web/js/action/update-shopping-cart.js | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/app/code/Magento/Checkout/view/frontend/templates/cart/form.phtml b/app/code/Magento/Checkout/view/frontend/templates/cart/form.phtml index 1005c11e44d95..84ab9b13d8f3a 100644 --- a/app/code/Magento/Checkout/view/frontend/templates/cart/form.phtml +++ b/app/code/Magento/Checkout/view/frontend/templates/cart/form.phtml @@ -14,7 +14,8 @@ method="post" id="form-validate" data-mage-init='{"Magento_Checkout/js/action/update-shopping-cart": - {"validationURL" : "/checkout/cart/updateItemQty"} + {"validationURL" : "/checkout/cart/updateItemQty", + "updateCartActionContainer": "#update_cart_action_container"} }' class="form form-cart"> getBlockHtml('formkey') ?> diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js b/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js index 9d79e34b10f17..7686dcad6e050 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js @@ -14,7 +14,8 @@ define([ $.widget('mage.updateShoppingCart', { options: { validationURL: '', - eventName: 'updateCartItemQty' + eventName: 'updateCartItemQty', + updateCartActionContainer: '' }, /** @inheritdoc */ @@ -31,11 +32,12 @@ define([ * @return {Boolean} */ onSubmit: function (event) { + var action = this.element.find(this.options.updateCartActionContainer).val(); + if (!this.options.validationURL) { return true; } - var action = this.element.find('#update_cart_action_container').val(); if (action === 'empty_cart') { return true; } From a1578b550ef678f9821a6f6756e3efe5206162be Mon Sep 17 00:00:00 2001 From: Oleksandr Kravchuk Date: Fri, 22 Feb 2019 13:46:04 +0200 Subject: [PATCH 3/3] Simplify. --- .../view/frontend/web/js/action/update-shopping-cart.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js b/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js index 7686dcad6e050..1920bc4d7ac41 100644 --- a/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js +++ b/app/code/Magento/Checkout/view/frontend/web/js/action/update-shopping-cart.js @@ -34,11 +34,7 @@ define([ onSubmit: function (event) { var action = this.element.find(this.options.updateCartActionContainer).val(); - if (!this.options.validationURL) { - return true; - } - - if (action === 'empty_cart') { + if (!this.options.validationURL || action === 'empty_cart') { return true; }