File tree Expand file tree Collapse file tree 3 files changed +38
-18
lines changed
app/code/Magento/Newsletter Expand file tree Collapse file tree 3 files changed +38
-18
lines changed Original file line number Diff line number Diff line change @@ -135,24 +135,25 @@ protected function _prepareLayout()
135
135
]
136
136
]
137
137
);
138
-
139
- $ this ->getToolbar ()->addChild (
140
- 'save_and_resume ' ,
141
- \Magento \Backend \Block \Widget \Button::class,
142
- [
143
- 'label ' => __ ('Save and Resume ' ),
144
- 'class ' => 'save ' ,
145
- 'data_attribute ' => [
146
- 'mage-init ' => [
147
- 'button ' => [
148
- 'event ' => 'save ' ,
149
- 'target ' => '#queue_edit_form ' ,
150
- 'eventData ' => ['action ' => ['args ' => ['_resume ' => 1 ]]],
138
+ if ($ this ->getCanResume ()) {
139
+ $ this ->getToolbar ()->addChild (
140
+ 'save_and_resume ' ,
141
+ \Magento \Backend \Block \Widget \Button::class,
142
+ [
143
+ 'label ' => __ ('Save and Resume ' ),
144
+ 'class ' => 'save ' ,
145
+ 'data_attribute ' => [
146
+ 'mage-init ' => [
147
+ 'button ' => [
148
+ 'event ' => 'save ' ,
149
+ 'target ' => '#queue_edit_form ' ,
150
+ 'eventData ' => ['action ' => ['args ' => ['_resume ' => 1 ]]],
151
+ ],
151
152
],
152
- ],
153
+ ]
153
154
]
154
- ]
155
- );
155
+ );
156
+ }
156
157
157
158
return parent ::_prepareLayout ();
158
159
}
Original file line number Diff line number Diff line change 6
6
7
7
namespace Magento \Newsletter \Block \Adminhtml \Queue \Edit ;
8
8
9
+ use Magento \Newsletter \Model \Queue ;
10
+
9
11
/**
10
12
* Newsletter queue edit form
11
13
*
@@ -227,7 +229,7 @@ protected function _prepareForm()
227
229
'value ' => $ queue ->getTemplate ()->getTemplateStyles ()
228
230
]
229
231
);
230
- } elseif (\ Magento \ Newsletter \ Model \ Queue::STATUS_NEVER != $ queue ->getQueueStatus ()) {
232
+ } elseif (Queue::STATUS_NEVER != $ queue ->getQueueStatus () && $ queue -> getQueueStatus () != Queue:: STATUS_PAUSE ) {
231
233
$ fieldset ->addField (
232
234
'text ' ,
233
235
'textarea ' ,
Original file line number Diff line number Diff line change @@ -251,7 +251,11 @@ public function sendPerSubscriber($count = 20)
251
251
]
252
252
);
253
253
254
- /** @var \Magento\Newsletter\Model\Subscriber $item */
254
+ if ($ this ->getQueueStatus () != self ::STATUS_SENDING && count ($ collection ->getItems ()) > 0 ) {
255
+ $ this ->startQueue ();
256
+ }
257
+
258
+ /** @var Subscriber $item */
255
259
foreach ($ collection ->getItems () as $ item ) {
256
260
$ transport = $ this ->_transportBuilder ->setTemplateOptions (
257
261
['area ' => \Magento \Framework \App \Area::AREA_FRONTEND , 'store ' => $ item ->getStoreId ()]
@@ -283,6 +287,19 @@ public function sendPerSubscriber($count = 20)
283
287
return $ this ;
284
288
}
285
289
290
+ /**
291
+ * Start queue: set status SENDING for queue
292
+ *
293
+ * @return $this
294
+ */
295
+ private function startQueue ()
296
+ {
297
+ $ this ->setQueueStatus (self ::STATUS_SENDING );
298
+ $ this ->save ();
299
+
300
+ return $ this ;
301
+ }
302
+
286
303
/**
287
304
* Finish queue: set status SENT and update finish date
288
305
*
You can’t perform that action at this time.
0 commit comments