Wishlistsreset.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace Dotdigitalgroup\Email\Controller\Adminhtml\Run;
  3. class Wishlistsreset 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\Wishlist
  17. */
  18. private $wishlist;
  19. /**
  20. * @var \Dotdigitalgroup\Email\Helper\Data
  21. */
  22. private $helper;
  23. /**
  24. * Wishlistsreset constructor.
  25. *
  26. * @param \Dotdigitalgroup\Email\Model\ResourceModel\Wishlist $wishlist
  27. * @param \Magento\Backend\App\Action\Context $context
  28. * @param \Dotdigitalgroup\Email\Helper\Data $data
  29. */
  30. public function __construct(
  31. \Dotdigitalgroup\Email\Model\ResourceModel\Wishlist $wishlist,
  32. \Magento\Backend\App\Action\Context $context,
  33. \Dotdigitalgroup\Email\Helper\Data $data
  34. ) {
  35. $this->wishlist = $wishlist;
  36. $this->messageManager = $context->getMessageManager();
  37. $this->helper = $data;
  38. parent::__construct($context);
  39. }
  40. /**
  41. * Refresh suppressed contacts.
  42. *
  43. * @return null
  44. */
  45. public function execute()
  46. {
  47. $params = $this->getRequest()->getParams();
  48. $from = $params['from'];
  49. $to = $params['to'];
  50. if ($from && $to) {
  51. $error = $this->helper->validateDateRange(
  52. $from,
  53. $to
  54. );
  55. if (is_string($error)) {
  56. $this->messageManager->addErrorMessage($error);
  57. } else {
  58. $this->wishlist->resetWishlists($from, $to);
  59. $this->messageManager->addSuccessMessage(__('Done.'));
  60. }
  61. } else {
  62. $this->wishlist->resetWishlists();
  63. $this->messageManager->addSuccessMessage(__('Done.'));
  64. }
  65. $redirectUrl = $this->getUrl(
  66. 'adminhtml/system_config/edit',
  67. ['section' => 'connector_developer_settings']
  68. );
  69. $this->_redirect($redirectUrl);
  70. }
  71. }