ResetContactImport.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace Dotdigitalgroup\Email\Observer\Adminhtml;
  3. /**
  4. * Reset the contact import after changing the mapping.
  5. */
  6. class ResetContactImport implements \Magento\Framework\Event\ObserverInterface
  7. {
  8. /**
  9. * @var \Dotdigitalgroup\Email\Helper\Data
  10. */
  11. private $helper;
  12. /**
  13. * @var \Magento\Framework\Message\ManagerInterface
  14. */
  15. private $messageManager;
  16. /**
  17. * @var \Dotdigitalgroup\Email\Model\ContactFactory
  18. */
  19. private $contactFactory;
  20. /**
  21. * @var \Dotdigitalgroup\Email\Model\ResourceModel\Contact
  22. */
  23. private $contactResource;
  24. /**
  25. * ResetContactImport constructor.
  26. *
  27. * @param \Dotdigitalgroup\Email\Model\ResourceModel\Contact $contactResource
  28. * @param \Dotdigitalgroup\Email\Model\ContactFactory $contactFactory
  29. * @param \Dotdigitalgroup\Email\Helper\Data $data
  30. * @param \Magento\Backend\App\Action\Context $context
  31. */
  32. public function __construct(
  33. \Dotdigitalgroup\Email\Model\ResourceModel\Contact $contactResource,
  34. \Dotdigitalgroup\Email\Model\ContactFactory $contactFactory,
  35. \Dotdigitalgroup\Email\Helper\Data $data,
  36. \Magento\Backend\App\Action\Context $context
  37. ) {
  38. $this->contactFactory = $contactFactory;
  39. $this->contactResource = $contactResource;
  40. $this->helper = $data;
  41. $this->messageManager = $context->getMessageManager();
  42. }
  43. /**
  44. * Execute method.
  45. *
  46. * @param \Magento\Framework\Event\Observer $observer
  47. *
  48. * @return $this
  49. *
  50. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  51. */
  52. public function execute(\Magento\Framework\Event\Observer $observer)
  53. {
  54. $numImported = $this->contactFactory->create()
  55. ->getNumberOfImportedContacs();
  56. $updated = $this->contactResource->resetAllContacts();
  57. $this->helper->log(
  58. '-- Imported contacts: ' . $numImported
  59. . ' reseted : ' . $updated . ' --'
  60. );
  61. return $this;
  62. }
  63. }