Refactor fetching newsletter options in SendingQueue using doctrine

[MAILPOET-4511]
This commit is contained in:
Rostislav Wolny
2022-07-27 15:42:56 +02:00
committed by Veljko V
parent 3b5d737143
commit 5042cdd15e
4 changed files with 36 additions and 13 deletions

View File

@@ -70,7 +70,7 @@ class SendingQueue {
/** @var ScheduledTasksRepository */
private $scheduledTasksRepository;
/** @var SubscribersRepository */
private $subscribersRepository;
@@ -145,7 +145,8 @@ class SendingQueue {
['task_id' => $queue->taskId]
);
$newsletter = $this->newsletterTask->getNewsletterFromQueue($queue);
if (!$newsletter) {
$newsletterEntity = $this->newslettersRepository->findOneById($newsletter->id);
if (!$newsletter || !$newsletterEntity) {
return;
}
// pre-process newsletter (render, replace shortcodes/links, etc.)
@@ -160,11 +161,7 @@ class SendingQueue {
}
// clone the original object to be used for processing
$_newsletter = (object)$newsletter->asArray();
$options = $newsletter->options()->findMany();
if (!empty($options)) {
$options = array_column($options, 'value', 'name');
}
$_newsletter->options = $options;
$_newsletter->options = $newsletterEntity->getOptionsAsArray();
// configure mailer
$this->mailerTask->configureMailer($newsletter);
// get newsletter segments