From edddaa789beaedeba90405c8a849f5adaadb4a41 Mon Sep 17 00:00:00 2001 From: Rostislav Wolny Date: Mon, 6 Apr 2020 16:53:42 +0200 Subject: [PATCH] Handle nullable task on sending queue [MAILPOET-2818] --- .../JSON/ResponseBuilders/NewslettersResponseBuilder.php | 6 ++++-- lib/Entities/SendingQueueEntity.php | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/API/JSON/ResponseBuilders/NewslettersResponseBuilder.php b/lib/API/JSON/ResponseBuilders/NewslettersResponseBuilder.php index d8cd6a9e2f..d1e8d34746 100644 --- a/lib/API/JSON/ResponseBuilders/NewslettersResponseBuilder.php +++ b/lib/API/JSON/ResponseBuilders/NewslettersResponseBuilder.php @@ -181,7 +181,9 @@ class NewslettersResponseBuilder { private function buildQueue(SendingQueueEntity $queue) { $task = $queue->getTask(); - + if ($task === null) { + return null; + } // the following crazy mix of '$queue' and '$task' comes from 'array_merge($task, $queue)' // (MailPoet\Tasks\Sending) which means all equal-named fields will be taken from '$queue' return [ @@ -195,7 +197,7 @@ class NewslettersResponseBuilder { 'updated_at' => $queue->getUpdatedAt()->format(self::DATE_FORMAT), 'deleted_at' => ($deletedAt = $queue->getDeletedAt()) ? $deletedAt->format(self::DATE_FORMAT) : null, 'meta' => $queue->getMeta(), - 'task_id' => (string)$queue->getTask()->getId(), // (string) for BC + 'task_id' => (string)$task->getId(), // (string) for BC 'newsletter_id' => (string)$queue->getNewsletter()->getId(), // (string) for BC 'newsletter_rendered_subject' => $queue->getNewsletterRenderedSubject(), 'count_total' => (string)$queue->getCountTotal(), // (string) for BC diff --git a/lib/Entities/SendingQueueEntity.php b/lib/Entities/SendingQueueEntity.php index 77594a8c2e..cf13485896 100644 --- a/lib/Entities/SendingQueueEntity.php +++ b/lib/Entities/SendingQueueEntity.php @@ -73,7 +73,7 @@ class SendingQueueEntity { /** * @ORM\OneToOne(targetEntity="MailPoet\Entities\ScheduledTaskEntity") - * @var ScheduledTaskEntity + * @var ScheduledTaskEntity|null */ private $task; @@ -182,7 +182,7 @@ class SendingQueueEntity { } /** - * @return ScheduledTaskEntity + * @return ScheduledTaskEntity|null */ public function getTask() { $this->safelyLoadToOneAssociation('task');