Skip to content

Commit 79be5ed

Browse files
committed
Fixed model save and ObjectManager usage
1 parent 67f525d commit 79be5ed

File tree

1 file changed

+57
-14
lines changed
  • app/code/Magento/Email/Controller/Adminhtml/Email/Template

1 file changed

+57
-14
lines changed

app/code/Magento/Email/Controller/Adminhtml/Email/Template/Save.php

Lines changed: 57 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,62 @@
11
<?php
22
/**
3-
*
43
* Copyright © Magento, Inc. All rights reserved.
54
* See COPYING.txt for license details.
65
*/
76
namespace Magento\Email\Controller\Adminhtml\Email\Template;
87

8+
use Exception;
9+
use Magento\Backend\App\Action\Context;
10+
use Magento\Backend\Model\Session;
11+
use Magento\Email\Controller\Adminhtml\Email\Template;
12+
use Magento\Email\Model\ResourceModel\Template as TemplateResource;
13+
use Magento\Framework\App\Action\HttpPostActionInterface;
914
use Magento\Framework\App\TemplateTypesInterface;
15+
use Magento\Framework\Registry;
16+
use Magento\Framework\Stdlib\DateTime\DateTime;
1017

11-
class Save extends \Magento\Email\Controller\Adminhtml\Email\Template
18+
/**
19+
* Save Controller
20+
*/
21+
class Save extends Template implements HttpPostActionInterface
1222
{
23+
/**
24+
* @var DateTime
25+
*/
26+
private $dateTime;
27+
28+
/**
29+
* @var TemplateResource
30+
*/
31+
private $templateResource;
32+
33+
/**
34+
* @var Session
35+
*/
36+
private $backendSession;
37+
38+
/**
39+
* Save constructor
40+
*
41+
* @param Context $context
42+
* @param Registry $coreRegistry
43+
* @param DateTime $dateTime
44+
* @param TemplateResource $templateResource
45+
* @param Session $backendSession
46+
*/
47+
public function __construct(
48+
Context $context,
49+
Registry $coreRegistry,
50+
DateTime $dateTime,
51+
TemplateResource $templateResource,
52+
Session $backendSession
53+
) {
54+
$this->dateTime = $dateTime;
55+
$this->templateResource = $templateResource;
56+
$this->backendSession = $backendSession;
57+
parent::__construct($context, $coreRegistry);
58+
}
59+
1360
/**
1461
* Save transactional email action
1562
*
@@ -18,10 +65,10 @@ class Save extends \Magento\Email\Controller\Adminhtml\Email\Template
1865
public function execute()
1966
{
2067
$request = $this->getRequest();
21-
$id = $this->getRequest()->getParam('id');
68+
$templateId = $this->getRequest()->getParam('id');
2269

2370
$template = $this->_initTemplate('id');
24-
if (!$template->getId() && $id) {
71+
if (!$template->getId() && $templateId) {
2572
$this->messageManager->addErrorMessage(__('This email template no longer exists.'));
2673
$this->_redirect('adminhtml/*/');
2774
return;
@@ -37,7 +84,7 @@ public function execute()
3784
)->setTemplateStyles(
3885
$request->getParam('template_styles')
3986
)->setModifiedAt(
40-
$this->_objectManager->get(\Magento\Framework\Stdlib\DateTime\DateTime::class)->gmtDate()
87+
$this->dateTime->gmtDate()
4188
)->setOrigTemplateCode(
4289
$request->getParam('orig_template_code')
4390
)->setOrigTemplateVariables(
@@ -53,17 +100,13 @@ public function execute()
53100
$template->setTemplateStyles('');
54101
}
55102

56-
$template->save();
57-
$this->_objectManager->get(\Magento\Backend\Model\Session::class)->setFormData(false);
103+
$this->templateResource->save($template);
104+
105+
$this->backendSession->setFormData(false);
58106
$this->messageManager->addSuccessMessage(__('You saved the email template.'));
59107
$this->_redirect('adminhtml/*');
60-
} catch (\Exception $e) {
61-
$this->_objectManager->get(
62-
\Magento\Backend\Model\Session::class
63-
)->setData(
64-
'email_template_form_data',
65-
$request->getParams()
66-
);
108+
} catch (Exception $e) {
109+
$this->backendSession->setData('email_template_form_data', $request->getParams());
67110
$this->messageManager->addErrorMessage($e->getMessage());
68111
$this->_forward('new');
69112
}

0 commit comments

Comments
 (0)