From ff4281722f941f2aa86ecc0ef435101736c0f8f3 Mon Sep 17 00:00:00 2001 From: Tarun Mukherjee Date: Tue, 28 Oct 2014 15:08:21 +0530 Subject: [PATCH] Checked users status before applying during newsletter edit from my account --- app/code/Magento/Newsletter/Controller/Manage/Save.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Newsletter/Controller/Manage/Save.php b/app/code/Magento/Newsletter/Controller/Manage/Save.php index 1039725ef0e1b..c42148d80ea49 100644 --- a/app/code/Magento/Newsletter/Controller/Manage/Save.php +++ b/app/code/Magento/Newsletter/Controller/Manage/Save.php @@ -49,10 +49,11 @@ public function execute() ->create(); $this->_customerAccountService->updateCustomer($customerId, $customerDetails); - if ((boolean)$this->getRequest()->getParam('is_subscribed', false)) { + $isAlreadySubscribed = $this->_subscriberFactory->create()->loadByCustomerId($customerId)->isSubscribed(); + if (!$isAlreadySubscribed && (boolean) $this->getRequest()->getParam('is_subscribed', false)) { $this->_subscriberFactory->create()->subscribeCustomerById($customerId); $this->messageManager->addSuccess(__('We saved the subscription.')); - } else { + } elseif ($isAlreadySubscribed && !(boolean) $this->getRequest()->getParam('is_subscribed', false)) { $this->_subscriberFactory->create()->unsubscribeCustomerById($customerId); $this->messageManager->addSuccess(__('We removed the subscription.')); }