Templatesync.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace Dotdigitalgroup\Email\Controller\Adminhtml\Run;
  3. class Templatesync 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 \Dotdigitalgroup\Email\Model\Email\TemplateFactory
  13. */
  14. private $emailTemplatesFactory;
  15. /**
  16. * @var \Magento\Framework\Message\ManagerInterface
  17. */
  18. protected $messageManager;
  19. /**
  20. * Templatesync constructor.
  21. *
  22. * @param \Dotdigitalgroup\Email\Model\Email\TemplateFactory $templateFactory
  23. * @param \Magento\Backend\App\Action\Context $context
  24. */
  25. public function __construct(
  26. \Dotdigitalgroup\Email\Model\Email\TemplateFactory $templateFactory,
  27. \Magento\Backend\App\Action\Context $context
  28. ) {
  29. $this->emailTemplatesFactory = $templateFactory;
  30. $this->messageManager = $context->getMessageManager();
  31. parent::__construct($context);
  32. }
  33. /**
  34. *
  35. * @return null
  36. */
  37. public function execute()
  38. {
  39. //run sync
  40. $result = $this->emailTemplatesFactory->create()
  41. ->sync();
  42. //add sync message
  43. if (isset($result['message'])) {
  44. $this->messageManager->addSuccessMessage($result['message']);
  45. }
  46. $redirectBack = $this->_redirect->getRefererUrl();
  47. $this->_redirect($redirectBack);
  48. }
  49. }