Catalogreset.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace Dotdigitalgroup\Email\Controller\Adminhtml\Run;
  3. class Catalogreset extends \Magento\Backend\App\AbstractAction
  4. {
  5. /**
  6. * Authorization level of a basic admin session
  7. *
  8. * @see _isAllowed()
  9. */
  10. const ADMIN_RESOURCE = 'Dotdigitalgroup_Email::config';
  11. /**
  12. * @var \Magento\Framework\Message\ManagerInterface
  13. */
  14. protected $messageManager;
  15. /**
  16. * @var \Dotdigitalgroup\Email\Model\ResourceModel\Catalog
  17. */
  18. private $catalog;
  19. /**
  20. * @var \Dotdigitalgroup\Email\Helper\Data
  21. */
  22. private $helper;
  23. /**
  24. * @var \Magento\Framework\Escaper
  25. */
  26. private $escaper;
  27. /**
  28. * Catalogreset constructor.
  29. * @param \Dotdigitalgroup\Email\Model\ResourceModel\Catalog $catalog
  30. * @param \Magento\Backend\App\Action\Context $context
  31. * @param \Dotdigitalgroup\Email\Helper\Data $data
  32. * @param \Magento\Framework\Escaper $escaper
  33. */
  34. public function __construct(
  35. \Dotdigitalgroup\Email\Model\ResourceModel\Catalog $catalog,
  36. \Magento\Backend\App\Action\Context $context,
  37. \Dotdigitalgroup\Email\Helper\Data $data,
  38. \Magento\Framework\Escaper $escaper
  39. ) {
  40. $this->catalog = $catalog;
  41. $this->messageManager = $context->getMessageManager();
  42. $this->helper = $data;
  43. $this->escaper = $escaper;
  44. parent::__construct($context);
  45. }
  46. /**
  47. * Refresh suppressed contacts.
  48. *
  49. * @return null
  50. */
  51. public function execute()
  52. {
  53. $params = $this->getRequest()->getParams();
  54. $from = $params['from'];
  55. $to = $params['to'];
  56. if ($from && $to) {
  57. $error = $this->helper->validateDateRange(
  58. $from,
  59. $to
  60. );
  61. if (is_string($error)) {
  62. $this->messageManager->addErrorMessage($error);
  63. } else {
  64. $this->catalog->resetCatalog($from, $to);
  65. $this->messageManager->addSuccessMessage(__('Done.'));
  66. }
  67. } else {
  68. $this->catalog->resetCatalog();
  69. $this->messageManager->addSuccessMessage(__('Done.'));
  70. }
  71. $redirectUrl = $this->getUrl(
  72. 'adminhtml/system_config/edit',
  73. ['section' => 'connector_developer_settings']
  74. );
  75. $this->_redirect($redirectUrl);
  76. }
  77. }