From 55aee90c340bd15140cd761deac9517d612bb915 Mon Sep 17 00:00:00 2001 From: Bruno Dias <ibroopi@gmail.com> Date: Mon, 28 Feb 2022 17:04:31 +0000 Subject: [PATCH 1/4] Remove layout module and more --- Block/Form/Options.php | 39 ++++++--- Helper/Data.php | 10 +++ Observer/UpdateOptions.php | 22 ++--- Setup/UpgradeData.php | 83 +++++++++++++++++++ etc/adminhtml/system.xml | 20 +++++ etc/module.xml | 2 +- .../templates/form/newsletter-options.phtml | 18 ++-- view/frontend/templates/form/newsletter.phtml | 2 +- 8 files changed, 158 insertions(+), 38 deletions(-) create mode 100644 Helper/Data.php create mode 100644 Setup/UpgradeData.php create mode 100644 etc/adminhtml/system.xml diff --git a/Block/Form/Options.php b/Block/Form/Options.php index dbfd103..e4a5b54 100644 --- a/Block/Form/Options.php +++ b/Block/Form/Options.php @@ -3,19 +3,17 @@ namespace OuterEdge\Multiplenewsletter\Block\Form; use Magento\Framework\View\Element\Template; -use OuterEdge\Layout\Helper\Data as LayoutHelper; use Magento\Framework\View\Element\Template\Context; use Magento\Customer\Model\SessionFactory; use Magento\Customer\Api\CustomerRepositoryInterface; +use Magento\Framework\App\Config\ScopeConfigInterface; +use Magento\Store\Model\ScopeInterface; +use OuterEdge\Multiplenewsletter\Helper\Data; class Options extends Template { - protected $_newsletterOptions; - /** - * @var LayoutHelper - */ - protected $layoutHelper; + protected $newsletterOptions; /** * @var SessionFactory @@ -27,32 +25,45 @@ class Options extends Template */ protected $customerRepositoryInterface; + /** + * @var ScopeConfigInterface + */ + protected $scopeConfig; + /** * @param Context $context - * @param LayoutHelper $layoutHelper * @param SessionFactory $sessionFactory * @param CustomerRepositoryInterface $customerRepositoryInterface + * @param ScopeConfigInterface $scopeConfig * @param array $data */ public function __construct( Context $context, - LayoutHelper $layoutHelper, SessionFactory $sessionFactory, CustomerRepositoryInterface $customerRepositoryInterface, + ScopeConfigInterface $scopeConfig, array $data = [] ) { - $this->layoutHelper = $layoutHelper; $this->sessionFactory = $sessionFactory; $this->customerRepositoryInterface = $customerRepositoryInterface; + $this->scopeConfig = $scopeConfig; parent::__construct($context, $data); } public function getNewsletterOptions() { - if ($this->_newsletterOptions === null) { - $this->_newsletterOptions = $this->layoutHelper->getGroupAndElements('newsletter_options'); + if ($this->newsletterOptions === null) { + + $data = $this->scopeConfig->getValue('multinewletteroptions/list/options', ScopeInterface::SCOPE_STORE); + foreach (explode(',', $data) as $option) { + $this->newsletterOptions[] = [ + 'lable' => ucfirst(ltrim($option)), + 'code' => str_replace(' ', '_', ltrim($option)) + ]; + } } - return $this->_newsletterOptions; + + return $this->newsletterOptions; } public function getNewsletterOptionsByCustomer($newsletterOption) @@ -69,6 +80,10 @@ public function getNewsletterOptionsByCustomer($newsletterOption) } if (!empty($customerNewsOpt)) { + if ($customerNewsOpt == Data::CORE_NEWSLETTER) { + return true; + } + if (strpos($customerNewsOpt, $newsletterOption) !== false) { return true; } diff --git a/Helper/Data.php b/Helper/Data.php new file mode 100644 index 0000000..3399491 --- /dev/null +++ b/Helper/Data.php @@ -0,0 +1,10 @@ +<?php + +namespace OuterEdge\Multiplenewsletter\Helper; + +use Magento\Framework\App\Helper\AbstractHelper; + +class Data extends AbstractHelper +{ + CONST CORE_NEWSLETTER = 'all'; +} diff --git a/Observer/UpdateOptions.php b/Observer/UpdateOptions.php index e1dfc25..d28296a 100644 --- a/Observer/UpdateOptions.php +++ b/Observer/UpdateOptions.php @@ -5,16 +5,11 @@ use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Magento\Customer\Model\SessionFactory; -use Magento\Store\Model\StoreManagerInterface; use Magento\Customer\Api\CustomerRepositoryInterface; +use OuterEdge\Multiplenewsletter\Helper\Data; class UpdateOptions implements ObserverInterface { - /** - * @var StoreManagerInterface - */ - protected $storeManager; - /** * @var CustomerRepositoryInterface */ @@ -26,16 +21,13 @@ class UpdateOptions implements ObserverInterface protected $sessionFactory; /** - * @param StoreManagerInterface $storeManager * @param CustomerRepositoryInterface $customerRepositoryInterface * @param SessionFactory $sessionFactory */ public function __construct( - StoreManagerInterface $storeManager, CustomerRepositoryInterface $customerRepositoryInterface, SessionFactory $sessionFactory ) { - $this->storeManager = $storeManager; $this->customerRepositoryInterface = $customerRepositoryInterface; $this->sessionFactory = $sessionFactory; } @@ -46,11 +38,15 @@ public function __construct( public function execute(Observer $observer) : void { $newsOptions = $observer->getRequest()->getParam('newsletter_options', false); + if ($newsOptions) { + $dataToSave = implode(',', array_keys($newsOptions)); + } - $dataToSave = implode(',', array_keys($newsOptions)); - - $storeId = (int)$this->storeManager->getStore()->getId(); - $websiteId = (int)$this->storeManager->getStore($storeId)->getWebsiteId(); + if ($observer->getRequest()->getParam('is_subscribed', false)) { + $dataToSave = Data::CORE_NEWSLETTER; + } elseif (!$newsOptions) { + $dataToSave = NULL; + } try { $customer = $this->customerRepositoryInterface->getById($this->getCustomerId()); diff --git a/Setup/UpgradeData.php b/Setup/UpgradeData.php new file mode 100644 index 0000000..7a6fbf6 --- /dev/null +++ b/Setup/UpgradeData.php @@ -0,0 +1,83 @@ +<?php + +namespace OuterEdge\Multiplenewsletter\Setup; + +use Magento\Framework\Setup\UpgradeDataInterface; +use Magento\Framework\Setup\ModuleDataSetupInterface; +use Magento\Framework\Setup\ModuleContextInterface; +use Magento\Newsletter\Model\ResourceModel\Subscriber\CollectionFactory as NewsCollectionFactory; +use Magento\Customer\Api\CustomerRepositoryInterface; +use OuterEdge\Multiplenewsletter\Helper\Data; +use Magento\Framework\App\State; + +class UpgradeData implements UpgradeDataInterface +{ + /** + * @var NewsCollectionFactory + */ + protected $subscriberCollection; + + /** + * @var CustomerRepositoryInterface + */ + protected $customerRepositoryInterface; + + /** + * @var \Magento\Framework\App\State + */ + private $state; + + /** + * @param NewsCollectionFactory $subscriberCollection + * @param CustomerRepositoryInterface $customerRepositoryInterface + * @param State $state + */ + public function __construct( + NewsCollectionFactory $subscriberCollection, + CustomerRepositoryInterface $customerRepositoryInterface, + State $state + ) { + $this->subscriberCollection = $subscriberCollection; + $this->customerRepositoryInterface = $customerRepositoryInterface; + $this->state = $state; + } + + public function getSubscriberCollection() + { + return $this->subscriberCollection->create(); + } + + public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context) + { + $this->state->setAreaCode(\Magento\Framework\App\Area::AREA_ADMINHTML); + + if (version_compare($context->getVersion(), '1.0.1', '<')) { + + $setup->startSetup(); + + foreach ($this->getSubscriberCollection() as $customerNewsletter) { + + if (!$customerNewsletter['customer_id']) { + continue; + } + try { + $customer = $this->customerRepositoryInterface->getById($customerNewsletter['customer_id']); + + //Only update if newsletter_options is empty + if ($customer->getCustomAttribute('newsletter_options')) { + continue; + } + + //TODO. Save in a different way, or force to save even if customer have errors + $customer->setCustomAttribute('newsletter_options', Data::CORE_NEWSLETTER); + $this->customerRepositoryInterface->save($customer); + + } catch (\Exception $e) { + throw new \Exception('Error updating multiple newsletter, customer: ' . $customerNewsletter['customer_id']. ' Reason: '. $e->getMessage()); + } + + } + $setup->endSetup(); + } + } +} diff --git a/etc/adminhtml/system.xml b/etc/adminhtml/system.xml new file mode 100644 index 0000000..308c12f --- /dev/null +++ b/etc/adminhtml/system.xml @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd"> + <system> + <tab id="outeredge" translate="label" sortOrder="2000" class="outeredge-tab"> + <label>outer/edge</label> + </tab> + <section id="multinewletteroptions" translate="label" type="text" sortOrder="11" showInDefault="1" showInWebsite="1" showInStore="0"> + <label>Multi Newsletter Emails</label> + <tab>outeredge</tab> + <resource>OuterEdge_Multiplenewsletter::MultiplenewsletterSettings</resource> + <group id="list" translate="label" type="text" sortOrder="10" showInDefault="1" showInWebsite="1" showInStore="0"> + <label>Multi Newsletter Emails list</label> + <field id="options" translate="label" type="text" sortOrder="40" showInDefault="1" showInWebsite="1" showInStore="1"> + <label>Newsletter options</label> + <comment>newsletter one, newsletter two, newsletter three</comment> + </field> + </group> + </section> + </system> +</config> diff --git a/etc/module.xml b/etc/module.xml index 549b3b8..354bfd2 100644 --- a/etc/module.xml +++ b/etc/module.xml @@ -1,6 +1,6 @@ <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> - <module name="OuterEdge_Multiplenewsletter" setup_version="1.0.0"> + <module name="OuterEdge_Multiplenewsletter" setup_version="1.0.1"> <sequence> <module name="Magento_Newsletter"/> </sequence> diff --git a/view/frontend/templates/form/newsletter-options.phtml b/view/frontend/templates/form/newsletter-options.phtml index 88b83bd..6d09fe1 100644 --- a/view/frontend/templates/form/newsletter-options.phtml +++ b/view/frontend/templates/form/newsletter-options.phtml @@ -2,29 +2,25 @@ /** * @var \OuterEdge\Multiplenewsletter\Block\Form\NewsletterOptions $block */ - $newsletterOptions = $block->getNewsletterOptions(); ?> -<?php foreach($newsletterOptions->getElements() as $newsletters) : ?> - <?php $isEnabled = $block->getNewsletterOptionsByCustomer($newsletters->getNewsletterOptionsCode()); ?> +<?php foreach ($newsletterOptions as $newsletters): ?> + <?php $isEnabled = $block->getNewsletterOptionsByCustomer($newsletters['code']); ?> <div class="field choice"> - <input type="checkbox" onClick="unCheckAll(this);" name="newsletter_options[<?php echo $newsletters->getNewsletterOptionsCode()?>]" - id="newsletter_options[<?php echo $newsletters->getNewsletterOptionsCode()?>" + <input type="checkbox" onClick="unCheckAll(this);" name="newsletter_options[<?php echo $newsletters['code']?>]" + id="newsletter_options[<?php echo $newsletters['code']?>]" value="1" - title="<?= $block->escapeHtml($newsletters->getTitle()) ?>" + title="<?= $block->escapeHtml($newsletters['lable']) ?>" <?php if($isEnabled): ?> checked="checked"<?php endif; ?> class="checkbox" /> - <label for="newsletter_options[<?php echo $newsletters->getNewsletterOptionsCode()?>"> - <?= $block->escapeHtml($newsletters->getTitle()) ?> + <label for="newsletter_options[<?php echo $newsletters['code']?>]"> + <?= $block->escapeHtml($newsletters['lable']) ?> </label> </div> <?php endforeach; ?> <script type="text/javascript"> - //<![CDATA[ - var dataForm = new VarienForm('form-validate', true); - //]]> function checkAll(source) { checkboxes = document.getElementsByClassName('checkbox'); for ( var i in checkboxes) diff --git a/view/frontend/templates/form/newsletter.phtml b/view/frontend/templates/form/newsletter.phtml index 3bb1895..3b02728 100644 --- a/view/frontend/templates/form/newsletter.phtml +++ b/view/frontend/templates/form/newsletter.phtml @@ -5,7 +5,7 @@ <form class="form form-newsletter-manage" action="<?= $block->escapeUrl($block->getAction()) ?>" method="post" id="form-validate"> <fieldset class="fieldset"> <?= $block->getBlockHtml('formkey') ?> - <legend class="legend"><span><?= $block->escapeHtml(__('Subscription option')) ?></span></legend><br> + <legend class="legend"><span><?= $block->escapeHtml(__('Subscription Options')) ?></span></legend><br> <div class="field choice"> <input type="checkbox" name="is_subscribed" id="subscription" onClick="checkAll(this);" value="1" title="<?= $block->escapeHtmlAttr(__('General Subscription')) ?>"<?php if ($block->getIsSubscribed()) : ?> checked="checked"<?php endif; ?> class="checkbox"> <label for="subscription" class="label"><span><?= $block->escapeHtml(__('All Newsletters')) ?></span></label> From 6812de25615c931f6676ab72f8d8e4e5fda9a4aa Mon Sep 17 00:00:00 2001 From: Bruno Dias <ibroopi@gmail.com> Date: Tue, 1 Mar 2022 13:19:27 +0000 Subject: [PATCH 2/4] Update all subscrived customers to multi newsletter --- Observer/UpdateFromAdmin.php | 54 ++++++++++++++++++++++++++++++++++++ Observer/UpdateOptions.php | 2 +- Setup/UpgradeData.php | 41 ++++++++++++++++++++++----- etc/adminhtml/events.xml | 6 ++++ 4 files changed, 95 insertions(+), 8 deletions(-) create mode 100644 Observer/UpdateFromAdmin.php create mode 100644 etc/adminhtml/events.xml diff --git a/Observer/UpdateFromAdmin.php b/Observer/UpdateFromAdmin.php new file mode 100644 index 0000000..6b76d0a --- /dev/null +++ b/Observer/UpdateFromAdmin.php @@ -0,0 +1,54 @@ +<?php + +namespace OuterEdge\Multiplenewsletter\Observer; + +use Magento\Framework\Event\Observer; +use Magento\Framework\Event\ObserverInterface; +use Magento\Customer\Api\CustomerRepositoryInterface; +use OuterEdge\Multiplenewsletter\Helper\Data; + +class UpdateFromAdmin implements ObserverInterface +{ + /** + * @var CustomerRepositoryInterface + */ + protected $customerRepositoryInterface; + + /** + * @param CustomerRepositoryInterface $customerRepositoryInterface + */ + public function __construct( + CustomerRepositoryInterface $customerRepositoryInterface + ) { + $this->customerRepositoryInterface = $customerRepositoryInterface; + } + + /** + * @param Observer $observer + */ + public function execute(Observer $observer) + { + $customerId = $observer->getCustomer()->getId(); + $subscriptionStatus = (array)$observer->getRequest()->getParam('subscription_status'); + + if (empty($subscriptionStatus)) { + return; + } + + $customer = $this->customerRepositoryInterface->getById((int)$customerId); + + foreach ($subscriptionStatus as $status) { + if ($status) { + $customer->setCustomAttribute('newsletter_options', Data::CORE_NEWSLETTER); + } else { + $customer->setCustomAttribute('newsletter_options', 'NULL'); + } + + try { + $this->customerRepositoryInterface->save($customer); + } catch (\Exception $e) { + throw new \Exception('Error saving multiple newsletter'); + } + } + } +} diff --git a/Observer/UpdateOptions.php b/Observer/UpdateOptions.php index d28296a..44104ce 100644 --- a/Observer/UpdateOptions.php +++ b/Observer/UpdateOptions.php @@ -45,7 +45,7 @@ public function execute(Observer $observer) : void if ($observer->getRequest()->getParam('is_subscribed', false)) { $dataToSave = Data::CORE_NEWSLETTER; } elseif (!$newsOptions) { - $dataToSave = NULL; + $dataToSave = 'NULL'; } try { diff --git a/Setup/UpgradeData.php b/Setup/UpgradeData.php index 7a6fbf6..ee73fe9 100644 --- a/Setup/UpgradeData.php +++ b/Setup/UpgradeData.php @@ -9,6 +9,8 @@ use Magento\Customer\Api\CustomerRepositoryInterface; use OuterEdge\Multiplenewsletter\Helper\Data; use Magento\Framework\App\State; +use Magento\Framework\App\ResourceConnection; +use Magento\Eav\Model\ResourceModel\Entity\Attribute; class UpgradeData implements UpgradeDataInterface { @@ -27,19 +29,35 @@ class UpgradeData implements UpgradeDataInterface */ private $state; + /** + * @var ResourceConnection + */ + protected $resource; + + /** + * @var Attribute + */ + protected $eavAttribute; + /** * @param NewsCollectionFactory $subscriberCollection * @param CustomerRepositoryInterface $customerRepositoryInterface * @param State $state + * @param ResourceConnection $resource + * @param Attribute $eavAttribute */ public function __construct( NewsCollectionFactory $subscriberCollection, CustomerRepositoryInterface $customerRepositoryInterface, - State $state + State $state, + ResourceConnection $resource, + Attribute $eavAttribute ) { $this->subscriberCollection = $subscriberCollection; $this->customerRepositoryInterface = $customerRepositoryInterface; $this->state = $state; + $this->resource = $resource; + $this->eavAttribute = $eavAttribute; } public function getSubscriberCollection() @@ -49,33 +67,42 @@ public function getSubscriberCollection() public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $context) { - $this->state->setAreaCode(\Magento\Framework\App\Area::AREA_ADMINHTML); + $this->state->setAreaCode(\Magento\Framework\App\Area::AREA_FRONTEND); if (version_compare($context->getVersion(), '1.0.1', '<')) { $setup->startSetup(); + $connection = $this->resource->getConnection(\Magento\Framework\App\ResourceConnection::DEFAULT_CONNECTION); + $customerEntity = $connection->getTableName('customer_entity'); + $customerEntityVarchar = $connection->getTableName('customer_entity_varchar'); + $attributeId = $this->eavAttribute->getIdByCode(\Magento\Customer\Model\Customer::ENTITY, 'newsletter_options'); foreach ($this->getSubscriberCollection() as $customerNewsletter) { if (!$customerNewsletter['customer_id']) { continue; } + + $selectCustomer = "SELECT entity_id FROM $customerEntity WHERE entity_id LIKE ".$customerNewsletter['customer_id']; + $customerExist = $connection->fetchRow($selectCustomer); + if (!$customerExist) { + continue; + } + try { $customer = $this->customerRepositoryInterface->getById($customerNewsletter['customer_id']); - //Only update if newsletter_options is empty if ($customer->getCustomAttribute('newsletter_options')) { continue; } - //TODO. Save in a different way, or force to save even if customer have errors - $customer->setCustomAttribute('newsletter_options', Data::CORE_NEWSLETTER); - $this->customerRepositoryInterface->save($customer); + $connection->fetchAll("INSERT INTO `".$customerEntityVarchar."` + (`value_id`, `attribute_id`, `entity_id`, `value`) + VALUES (NULL, '".$attributeId."', '".$customer->getId()."', '".Data::CORE_NEWSLETTER."')"); } catch (\Exception $e) { throw new \Exception('Error updating multiple newsletter, customer: ' . $customerNewsletter['customer_id']. ' Reason: '. $e->getMessage()); } - } $setup->endSetup(); } diff --git a/etc/adminhtml/events.xml b/etc/adminhtml/events.xml new file mode 100644 index 0000000..a3c4508 --- /dev/null +++ b/etc/adminhtml/events.xml @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> + <event name="adminhtml_customer_save_after"> + <observer name="update_multinewsletter_field" instance="OuterEdge\Multiplenewsletter\Observer\UpdateFromAdmin" /> + </event> +</config> From 6c4e3645fcccab5ff08c7fc750e728f53794641d Mon Sep 17 00:00:00 2001 From: Bruno Dias <ibroopi@gmail.com> Date: Tue, 1 Mar 2022 15:44:34 +0000 Subject: [PATCH 3/4] Update all subscrived customers to multi newsletter --- Block/Form/Options.php | 2 +- Helper/Data.php | 4 +++- Observer/UpdateFromAdmin.php | 4 ++-- Observer/UpdateOptions.php | 4 ++-- Setup/UpgradeData.php | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Block/Form/Options.php b/Block/Form/Options.php index e4a5b54..ea16ca4 100644 --- a/Block/Form/Options.php +++ b/Block/Form/Options.php @@ -80,7 +80,7 @@ public function getNewsletterOptionsByCustomer($newsletterOption) } if (!empty($customerNewsOpt)) { - if ($customerNewsOpt == Data::CORE_NEWSLETTER) { + if ($customerNewsOpt == Data::CORE_NEWSLETTER_SUBSCRIBE) { return true; } diff --git a/Helper/Data.php b/Helper/Data.php index 3399491..9ea4c4a 100644 --- a/Helper/Data.php +++ b/Helper/Data.php @@ -6,5 +6,7 @@ class Data extends AbstractHelper { - CONST CORE_NEWSLETTER = 'all'; + CONST CORE_NEWSLETTER_SUBSCRIBE = 'all'; + + CONST CORE_NEWSLETTER_UNSUBSCRIBE = 'null'; } diff --git a/Observer/UpdateFromAdmin.php b/Observer/UpdateFromAdmin.php index 6b76d0a..8a9bc06 100644 --- a/Observer/UpdateFromAdmin.php +++ b/Observer/UpdateFromAdmin.php @@ -39,9 +39,9 @@ public function execute(Observer $observer) foreach ($subscriptionStatus as $status) { if ($status) { - $customer->setCustomAttribute('newsletter_options', Data::CORE_NEWSLETTER); + $customer->setCustomAttribute('newsletter_options', Data::CORE_NEWSLETTER_SUBSCRIBE); } else { - $customer->setCustomAttribute('newsletter_options', 'NULL'); + $customer->setCustomAttribute('newsletter_options', Data::CORE_NEWSLETTER_UNSUBSCRIBE); } try { diff --git a/Observer/UpdateOptions.php b/Observer/UpdateOptions.php index 44104ce..61c7e23 100644 --- a/Observer/UpdateOptions.php +++ b/Observer/UpdateOptions.php @@ -43,9 +43,9 @@ public function execute(Observer $observer) : void } if ($observer->getRequest()->getParam('is_subscribed', false)) { - $dataToSave = Data::CORE_NEWSLETTER; + $dataToSave = Data::CORE_NEWSLETTER_SUBSCRIBE; } elseif (!$newsOptions) { - $dataToSave = 'NULL'; + $dataToSave = Data::CORE_NEWSLETTER_UNSUBSCRIBE; } try { diff --git a/Setup/UpgradeData.php b/Setup/UpgradeData.php index ee73fe9..b5ce93f 100644 --- a/Setup/UpgradeData.php +++ b/Setup/UpgradeData.php @@ -98,7 +98,7 @@ public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface $connection->fetchAll("INSERT INTO `".$customerEntityVarchar."` (`value_id`, `attribute_id`, `entity_id`, `value`) - VALUES (NULL, '".$attributeId."', '".$customer->getId()."', '".Data::CORE_NEWSLETTER."')"); + VALUES (NULL, '".$attributeId."', '".$customer->getId()."', '".Data::CORE_NEWSLETTER_SUBSCRIBE."')"); } catch (\Exception $e) { throw new \Exception('Error updating multiple newsletter, customer: ' . $customerNewsletter['customer_id']. ' Reason: '. $e->getMessage()); From 46657c13edd4dd7df660b371e559d4dda4887951 Mon Sep 17 00:00:00 2001 From: Bruno Dias <ibroopi@gmail.com> Date: Tue, 1 Mar 2022 15:46:18 +0000 Subject: [PATCH 4/4] Update all subscrived customers to multi newsletter --- Setup/UpgradeData.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Setup/UpgradeData.php b/Setup/UpgradeData.php index b5ce93f..fc907e4 100644 --- a/Setup/UpgradeData.php +++ b/Setup/UpgradeData.php @@ -101,7 +101,8 @@ public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface VALUES (NULL, '".$attributeId."', '".$customer->getId()."', '".Data::CORE_NEWSLETTER_SUBSCRIBE."')"); } catch (\Exception $e) { - throw new \Exception('Error updating multiple newsletter, customer: ' . $customerNewsletter['customer_id']. ' Reason: '. $e->getMessage()); + throw new \Exception('Error on multiple newsletter with customer: ' + .$customerNewsletter['customer_id'].' Reason: '.$e->getMessage()); } } $setup->endSetup();