Skip to content

Commit a7ce2ae

Browse files
[Magento Community Engineering] Community Contributions - 2.4-develop-prs
- merged with '2.4-develop-expedited-prs' branch
2 parents 66c8ae7 + 5be39f1 commit a7ce2ae

File tree

1 file changed

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

1 file changed

+58
-14
lines changed

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

Lines changed: 58 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,63 @@
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;
14+
use Magento\Framework\App\ObjectManager;
915
use Magento\Framework\App\TemplateTypesInterface;
16+
use Magento\Framework\Registry;
17+
use Magento\Framework\Stdlib\DateTime\DateTime;
1018

11-
class Save extends \Magento\Email\Controller\Adminhtml\Email\Template
19+
/**
20+
* Save Controller
21+
*/
22+
class Save extends Template implements HttpPostActionInterface
1223
{
24+
/**
25+
* @var DateTime
26+
*/
27+
private $dateTime;
28+
29+
/**
30+
* @var TemplateResource
31+
*/
32+
private $templateResource;
33+
34+
/**
35+
* @var Session
36+
*/
37+
private $backendSession;
38+
39+
/**
40+
* Save constructor
41+
*
42+
* @param Context $context
43+
* @param Registry $coreRegistry
44+
* @param DateTime|null $dateTime
45+
* @param TemplateResource|null $templateResource
46+
* @param Session|null $backendSession
47+
*/
48+
public function __construct(
49+
Context $context,
50+
Registry $coreRegistry,
51+
DateTime $dateTime = null,
52+
TemplateResource $templateResource = null,
53+
Session $backendSession = null
54+
) {
55+
$this->dateTime = $dateTime ?: ObjectManager::getInstance()->get(DateTime::class);
56+
$this->templateResource = $templateResource ?: ObjectManager::getInstance()->get(TemplateResource::class);
57+
$this->backendSession = $backendSession ?: ObjectManager::getInstance()->get(Session::class);
58+
parent::__construct($context, $coreRegistry);
59+
}
60+
1361
/**
1462
* Save transactional email action
1563
*
@@ -18,10 +66,10 @@ class Save extends \Magento\Email\Controller\Adminhtml\Email\Template
1866
public function execute()
1967
{
2068
$request = $this->getRequest();
21-
$id = $this->getRequest()->getParam('id');
69+
$templateId = $this->getRequest()->getParam('id');
2270

2371
$template = $this->_initTemplate('id');
24-
if (!$template->getId() && $id) {
72+
if (!$template->getId() && $templateId) {
2573
$this->messageManager->addErrorMessage(__('This email template no longer exists.'));
2674
$this->_redirect('adminhtml/*/');
2775
return;
@@ -37,7 +85,7 @@ public function execute()
3785
)->setTemplateStyles(
3886
$request->getParam('template_styles')
3987
)->setModifiedAt(
40-
$this->_objectManager->get(\Magento\Framework\Stdlib\DateTime\DateTime::class)->gmtDate()
88+
$this->dateTime->gmtDate()
4189
)->setOrigTemplateCode(
4290
$request->getParam('orig_template_code')
4391
)->setOrigTemplateVariables(
@@ -53,17 +101,13 @@ public function execute()
53101
$template->setTemplateStyles('');
54102
}
55103

56-
$template->save();
57-
$this->_objectManager->get(\Magento\Backend\Model\Session::class)->setFormData(false);
104+
$this->templateResource->save($template);
105+
106+
$this->backendSession->setFormData(false);
58107
$this->messageManager->addSuccessMessage(__('You saved the email template.'));
59108
$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-
);
109+
} catch (Exception $e) {
110+
$this->backendSession->setData('email_template_form_data', $request->getParams());
67111
$this->messageManager->addErrorMessage($e->getMessage());
68112
$this->_forward('new');
69113
}

0 commit comments

Comments
 (0)