Skip to content

Commit f746b83

Browse files
committed
MAGETWO-56349: [GITHUB] Newsletter Queue doesn't set to local time #5943 #2937 #7560
1 parent d00a950 commit f746b83

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

app/code/Magento/Newsletter/Model/Queue.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,13 @@ class Queue extends \Magento\Framework\Model\AbstractModel implements TemplateTy
109109
*/
110110
protected $_transportBuilder;
111111

112+
/**
113+
* Timezone library.
114+
*
115+
* @var \Magento\Framework\Stdlib\DateTime\Timezone
116+
*/
117+
private $timezone;
118+
112119
/**
113120
* @param \Magento\Framework\Model\Context $context
114121
* @param \Magento\Framework\Registry $registry
@@ -120,6 +127,7 @@ class Queue extends \Magento\Framework\Model\AbstractModel implements TemplateTy
120127
* @param \Magento\Newsletter\Model\Queue\TransportBuilder $transportBuilder
121128
* @param \Magento\Framework\Model\ResourceModel\AbstractResource $resource
122129
* @param \Magento\Framework\Data\Collection\AbstractDb $resourceCollection
130+
* @param \Magento\Framework\Stdlib\DateTime\Timezone $timezone
123131
* @param array $data
124132
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
125133
*/
@@ -134,6 +142,7 @@ public function __construct(
134142
\Magento\Newsletter\Model\Queue\TransportBuilder $transportBuilder,
135143
\Magento\Framework\Model\ResourceModel\AbstractResource $resource = null,
136144
\Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null,
145+
\Magento\Framework\Stdlib\DateTime\Timezone $timezone = null,
137146
array $data = []
138147
) {
139148
parent::__construct(
@@ -149,6 +158,9 @@ public function __construct(
149158
$this->_problemFactory = $problemFactory;
150159
$this->_subscribersCollection = $subscriberCollectionFactory->create();
151160
$this->_transportBuilder = $transportBuilder;
161+
$this->timezone = $timezone ?: \Magento\Framework\App\ObjectManager::getInstance()->get(
162+
\Magento\Framework\Stdlib\DateTime\Timezone::class
163+
);
152164
}
153165

154166
/**
@@ -183,8 +195,7 @@ public function setQueueStartAtByString($startAt)
183195
if ($startAt === null || $startAt == '') {
184196
$this->setQueueStartAt(null);
185197
} else {
186-
$time = (new \DateTime($startAt))->getTimestamp();
187-
$this->setQueueStartAt($this->_date->gmtDate(null, $time));
198+
$this->setQueueStartAt($this->timezone->convertConfigTimeToUtc($startAt));
188199
}
189200
return $this;
190201
}

0 commit comments

Comments
 (0)