1
1
<?php
2
2
/**
3
- *
4
3
* Copyright © Magento, Inc. All rights reserved.
5
4
* See COPYING.txt for license details.
6
5
*/
7
6
namespace Magento \Email \Controller \Adminhtml \Email \Template ;
8
7
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 ;
9
14
use Magento \Framework \App \TemplateTypesInterface ;
15
+ use Magento \Framework \Registry ;
16
+ use Magento \Framework \Stdlib \DateTime \DateTime ;
10
17
11
- class Save extends \Magento \Email \Controller \Adminhtml \Email \Template
18
+ /**
19
+ * Save Controller
20
+ */
21
+ class Save extends Template implements HttpPostActionInterface
12
22
{
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
+
13
60
/**
14
61
* Save transactional email action
15
62
*
@@ -18,10 +65,10 @@ class Save extends \Magento\Email\Controller\Adminhtml\Email\Template
18
65
public function execute ()
19
66
{
20
67
$ request = $ this ->getRequest ();
21
- $ id = $ this ->getRequest ()->getParam ('id ' );
68
+ $ templateId = $ this ->getRequest ()->getParam ('id ' );
22
69
23
70
$ template = $ this ->_initTemplate ('id ' );
24
- if (!$ template ->getId () && $ id ) {
71
+ if (!$ template ->getId () && $ templateId ) {
25
72
$ this ->messageManager ->addErrorMessage (__ ('This email template no longer exists. ' ));
26
73
$ this ->_redirect ('adminhtml/*/ ' );
27
74
return ;
@@ -37,7 +84,7 @@ public function execute()
37
84
)->setTemplateStyles (
38
85
$ request ->getParam ('template_styles ' )
39
86
)->setModifiedAt (
40
- $ this ->_objectManager -> get (\ Magento \ Framework \ Stdlib \ DateTime \DateTime::class) ->gmtDate ()
87
+ $ this ->dateTime ->gmtDate ()
41
88
)->setOrigTemplateCode (
42
89
$ request ->getParam ('orig_template_code ' )
43
90
)->setOrigTemplateVariables (
@@ -53,17 +100,13 @@ public function execute()
53
100
$ template ->setTemplateStyles ('' );
54
101
}
55
102
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 );
58
106
$ this ->messageManager ->addSuccessMessage (__ ('You saved the email template. ' ));
59
107
$ 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 ());
67
110
$ this ->messageManager ->addErrorMessage ($ e ->getMessage ());
68
111
$ this ->_forward ('new ' );
69
112
}
0 commit comments