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