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()
135135 ]
136136 ]
137137 );
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+ ],
151152 ],
152- ],
153+ ]
153154 ]
154- ]
155- );
155+ );
156+ }
156157
157158 return parent ::_prepareLayout ();
158159 }
Original file line number Diff line number Diff line change 66
77namespace Magento \Newsletter \Block \Adminhtml \Queue \Edit ;
88
9+ use Magento \Newsletter \Model \Queue ;
10+
911/**
1012 * Newsletter queue edit form
1113 *
@@ -227,7 +229,7 @@ protected function _prepareForm()
227229 'value ' => $ queue ->getTemplate ()->getTemplateStyles ()
228230 ]
229231 );
230- } elseif (\ Magento \ Newsletter \ Model \ Queue::STATUS_NEVER != $ queue ->getQueueStatus ()) {
232+ } elseif (Queue::STATUS_NEVER != $ queue ->getQueueStatus () && $ queue -> getQueueStatus () != Queue:: STATUS_PAUSE ) {
231233 $ fieldset ->addField (
232234 'text ' ,
233235 'textarea ' ,
Original file line number Diff line number Diff line change @@ -251,7 +251,11 @@ public function sendPerSubscriber($count = 20)
251251 ]
252252 );
253253
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 */
255259 foreach ($ collection ->getItems () as $ item ) {
256260 $ transport = $ this ->_transportBuilder ->setTemplateOptions (
257261 ['area ' => \Magento \Framework \App \Area::AREA_FRONTEND , 'store ' => $ item ->getStoreId ()]
@@ -283,6 +287,19 @@ public function sendPerSubscriber($count = 20)
283287 return $ this ;
284288 }
285289
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+
286303 /**
287304 * Finish queue: set status SENT and update finish date
288305 *
You can’t perform that action at this time.
0 commit comments