Save.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. namespace Dotdigitalgroup\Email\Controller\Adminhtml\Datafield;
  3. class Save 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::automation';
  11. /**
  12. * @var \Magento\Framework\Escaper
  13. */
  14. private $escaper;
  15. /**
  16. * @var \Magento\Framework\Message\ManagerInterface
  17. */
  18. protected $messageManager;
  19. /**
  20. * @var \Dotdigitalgroup\Email\Helper\Data
  21. */
  22. private $dataHelper;
  23. /**
  24. * Save constructor.
  25. * @param \Dotdigitalgroup\Email\Helper\Data $data
  26. * @param \Magento\Framework\Escaper $escaper
  27. * @param \Magento\Backend\App\Action\Context $context
  28. */
  29. public function __construct(
  30. \Dotdigitalgroup\Email\Helper\Data $data,
  31. \Magento\Framework\Escaper $escaper,
  32. \Magento\Backend\App\Action\Context $context
  33. ) {
  34. $this->dataHelper = $data;
  35. $this->escaper = $escaper;
  36. $this->messageManager = $context->getMessageManager();
  37. parent::__construct($context);
  38. }
  39. /**
  40. * Execute method.
  41. *
  42. * @return void
  43. */
  44. public function execute()
  45. {
  46. $datafield = $this->getRequest()->getParam('name');
  47. if (! empty($datafield)) {
  48. $response = $this->dataHelper->createDatafield(
  49. (int) $this->getRequest()->getParam('website', 0),
  50. $datafield,
  51. $this->getRequest()->getParam('type'),
  52. $this->getRequest()->getParam('visibility'),
  53. $this->getRequest()->getParam('default')
  54. );
  55. if (isset($response->message)) {
  56. $this->messageManager->addErrorMessage($response->message);
  57. } else {
  58. $this->messageManager->addSuccessMessage(__('Data field successfully created.'));
  59. }
  60. }
  61. }
  62. }