1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace Dotdigitalgroup\Email\Observer\Customer;
- /**
- * Wishlist delete.
- */
- class RemoveWishlist implements \Magento\Framework\Event\ObserverInterface
- {
- /**
- * @var \Dotdigitalgroup\Email\Helper\Data
- */
- private $helper;
- /**
- * @var \Magento\Customer\Api\CustomerRepositoryInterface
- */
- private $customer;
-
- /**
- * @var \Dotdigitalgroup\Email\Model\ImporterFactory
- */
- private $importerFactory;
-
- /**
- * RemoveWishlist constructor.
- *
- * @param \Magento\Customer\Api\CustomerRepositoryInterface $customer
- * @param \Dotdigitalgroup\Email\Model\ImporterFactory $importerFactory
- * @param \Dotdigitalgroup\Email\Helper\Data $data
- */
- public function __construct(
- \Magento\Customer\Api\CustomerRepositoryInterface $customer,
- \Dotdigitalgroup\Email\Model\ImporterFactory $importerFactory,
- \Dotdigitalgroup\Email\Helper\Data $data
- ) {
- $this->importerFactory = $importerFactory;
- $this->customer = $customer;
- $this->helper = $data;
- }
- /**
- * @param \Magento\Framework\Event\Observer $observer
- */
- public function execute(\Magento\Framework\Event\Observer $observer)
- {
- try {
- /** @var \Magento\Wishlist\Model\Wishlist $wishlist */
- $wishlist = $observer->getEvent()->getDataObject();
- $customer = $this->customer->getById($wishlist->getCustomerId());
- $isEnabled = $this->helper->isEnabled($customer->getWebsiteId());
- $syncEnabled = $this->helper->getWebsiteConfig(
- \Dotdigitalgroup\Email\Helper\Config::XML_PATH_CONNECTOR_SYNC_WISHLIST_ENABLED,
- $customer->getWebsiteId()
- );
- //create a queue item to remote single wishlist
- if ($isEnabled && $syncEnabled && $wishlist->getId()) {
- //register in queue with importer
- $this->importerFactory->create()->registerQueue(
- \Dotdigitalgroup\Email\Model\Importer::IMPORT_TYPE_WISHLIST,
- [$wishlist->getId()],
- \Dotdigitalgroup\Email\Model\Importer::MODE_SINGLE_DELETE,
- $customer->getWebsiteId()
- );
- }
- } catch (\Exception $e) {
- $this->helper->debug((string)$e, []);
- }
- }
- }
|