From bcbc07082f9cef3fa88f07df8c13b8296a466a3e Mon Sep 17 00:00:00 2001 From: okarpenko <okarpenko@ebay.com> Date: Wed, 24 Jun 2015 17:26:08 +0300 Subject: [PATCH] MAGETWO-38156: Move gift message to cart --- .../GiftMessage/Model/GiftMessageConfigProvider.php | 11 ++++++++++- .../view/frontend/web/js/model/gift-message.js | 10 ++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/code/Magento/GiftMessage/Model/GiftMessageConfigProvider.php b/app/code/Magento/GiftMessage/Model/GiftMessageConfigProvider.php index eb4c83db358..431c1b8afbf 100644 --- a/app/code/Magento/GiftMessage/Model/GiftMessageConfigProvider.php +++ b/app/code/Magento/GiftMessage/Model/GiftMessageConfigProvider.php @@ -11,6 +11,7 @@ use Magento\Framework\App\Http\Context as HttpContext; use Magento\Customer\Model\Context as CustomerContext; use Magento\Framework\UrlInterface; use Magento\Framework\Locale\FormatInterface as LocaleFormat; +use Magento\Framework\Data\Form\FormKey; /** * Configuration provider for GiftMessage rendering on "Checkout cart" page. @@ -49,6 +50,11 @@ class GiftMessageConfigProvider implements ConfigProviderInterface */ protected $localeFormat; + /** + * @var FormKey + */ + protected $formKey; + /** * @param \Magento\Framework\App\Helper\Context $context * @param \Magento\GiftMessage\Api\CartRepositoryInterface $cartRepository @@ -65,7 +71,8 @@ class GiftMessageConfigProvider implements ConfigProviderInterface \Magento\Checkout\Model\Session $checkoutSession, HttpContext $httpContext, \Magento\Store\Model\StoreManagerInterface $storeManager, - LocaleFormat $localeFormat + LocaleFormat $localeFormat, + FormKey $formKey ) { $this->scopeConfiguration = $context->getScopeConfig(); $this->cartRepository = $cartRepository; @@ -74,6 +81,7 @@ class GiftMessageConfigProvider implements ConfigProviderInterface $this->httpContext = $httpContext; $this->storeManager = $storeManager; $this->localeFormat = $localeFormat; + $this-> formKey = $formKey; } /** @@ -107,6 +115,7 @@ class GiftMessageConfigProvider implements ConfigProviderInterface ); $configuration['storeCode'] = $this->getStoreCode(); $configuration['isCustomerLoggedIn'] = $this->isCustomerLoggedIn(); + $configuration['formKey'] = $this->formKey->getFormKey(); $store = $this->storeManager->getStore(); $configuration['baseUrl'] = $store->isFrontUrlSecure() ? $store->getBaseUrl(UrlInterface::URL_TYPE_LINK, true) diff --git a/app/code/Magento/GiftMessage/view/frontend/web/js/model/gift-message.js b/app/code/Magento/GiftMessage/view/frontend/web/js/model/gift-message.js index eec30f4e610..ad91613b136 100644 --- a/app/code/Magento/GiftMessage/view/frontend/web/js/model/gift-message.js +++ b/app/code/Magento/GiftMessage/view/frontend/web/js/model/gift-message.js @@ -3,8 +3,8 @@ * See COPYING.txt for license details. */ /*global define*/ -define(['Magento_Ui/js/lib/component/provider', 'underscore'], - function (provider, _) { +define(['Magento_Ui/js/lib/component/provider', 'underscore', 'mage/url'], + function (provider, _, url) { "use strict"; return function (itemId) { var model = { @@ -65,6 +65,7 @@ define(['Magento_Ui/js/lib/component/provider', 'underscore'], }, getAfterSubmitCallbacks: function() { var callbacks = []; + callbacks.push(this.afterSubmit); _.each(this.additionalOptions, function(option) { if (_.isFunction(option.afterSubmit)) { callbacks.push(option.afterSubmit); @@ -72,6 +73,11 @@ define(['Magento_Ui/js/lib/component/provider', 'underscore'], }); return callbacks; }, + afterSubmit: function() { + window.location.href = url.build('checkout/cart/updatePost') + + '?form_key=' + window.giftOptionsConfig.giftMessage.formKey + + '&cart[]'; + }, getSubmitParams: function(remove) { var params = {}, self = this; -- GitLab