MassResend.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace Dotdigitalgroup\Email\Controller\Adminhtml\Importer;
  3. use Dotdigitalgroup\Email\Controller\Adminhtml\Importer as ImporterController;
  4. use Magento\Framework\Controller\ResultFactory;
  5. class MassResend extends ImporterController
  6. {
  7. /**
  8. * Authorization level of a basic admin session
  9. *
  10. * @see _isAllowed()
  11. */
  12. const ADMIN_RESOURCE = 'Dotdigitalgroup_Email::importer';
  13. /**
  14. * @var \Dotdigitalgroup\Email\Model\ResourceModel\Importer
  15. */
  16. private $importerResource;
  17. /**
  18. * @var \Magento\Framework\Escaper
  19. */
  20. private $escaper;
  21. /**
  22. * MassResend constructor.
  23. *
  24. * @param \Magento\Backend\App\Action\Context $context
  25. * @param \Dotdigitalgroup\Email\Model\ResourceModel\Importer $importer
  26. * @param \Magento\Framework\Escaper $escaper
  27. */
  28. public function __construct(
  29. \Magento\Backend\App\Action\Context $context,
  30. \Dotdigitalgroup\Email\Model\ResourceModel\Importer $importer,
  31. \Magento\Framework\Escaper $escaper
  32. ) {
  33. $this->importerResource = $importer;
  34. $this->escaper = $escaper;
  35. parent::__construct($context);
  36. }
  37. /**
  38. * @return \Magento\Backend\Model\View\Result\Redirect
  39. */
  40. public function execute()
  41. {
  42. $searchIds = $this->getRequest()->getParam('id');
  43. if (!is_array($searchIds)) {
  44. $this->messageManager->addErrorMessage(__('Please select importer.'));
  45. } else {
  46. try {
  47. $num = $this->importerResource->massResend($searchIds);
  48. $this->messageManager->addSuccessMessage(__('Total of %1 record(s) were reset.', $num));
  49. } catch (\Exception $e) {
  50. $this->messageManager->addErrorMessage($e->getMessage());
  51. }
  52. }
  53. /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */
  54. $resultRedirect = $this->resultFactory->create(ResultFactory::TYPE_REDIRECT);
  55. $resultRedirect->setPath('*/*/');
  56. return $resultRedirect;
  57. }
  58. }