Use latest newsletter sending queue in API response

[MAILPOET-2428]
This commit is contained in:
Rostislav Wolny
2019-10-03 10:49:35 +02:00
committed by Jack Kitterhing
parent bf3adf6ef7
commit c2072ec107
2 changed files with 8 additions and 4 deletions

View File

@ -29,7 +29,7 @@ class NewslettersResponseBuilder {
'parent_id' => ($parent = $newsletter->getParent()) ? $parent->getId() : null, 'parent_id' => ($parent = $newsletter->getParent()) ? $parent->getId() : null,
'segments' => $this->buildSegments($newsletter), 'segments' => $this->buildSegments($newsletter),
'options' => $this->buildOptions($newsletter), 'options' => $this->buildOptions($newsletter),
'queue' => ($queue = $newsletter->getQueue()) ? $this->buildQueue($queue) : false, // false for BC 'queue' => ($queue = $newsletter->getLatestQueue()) ? $this->buildQueue($queue) : false, // false for BC
'unsubscribe_token' => $newsletter->getUnsubscribeToken(), 'unsubscribe_token' => $newsletter->getUnsubscribeToken(),
]; ];
} }

View File

@ -9,6 +9,7 @@ use MailPoet\Doctrine\EntityTraits\DeletedAtTrait;
use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait; use MailPoet\Doctrine\EntityTraits\UpdatedAtTrait;
use MailPoetVendor\Doctrine\Common\Collections\ArrayCollection; use MailPoetVendor\Doctrine\Common\Collections\ArrayCollection;
use MailPoetVendor\Doctrine\Common\Collections\Collection; use MailPoetVendor\Doctrine\Common\Collections\Collection;
use MailPoetVendor\Doctrine\Common\Collections\Criteria;
use MailPoetVendor\Doctrine\ORM\EntityNotFoundException; use MailPoetVendor\Doctrine\ORM\EntityNotFoundException;
use MailPoetVendor\Doctrine\ORM\Mapping\Column; use MailPoetVendor\Doctrine\ORM\Mapping\Column;
@ -352,9 +353,12 @@ class NewsletterEntity {
} }
/** /**
* @param SendingQueueEntity|null $queue * @return SendingQueueEntity|null
*/ */
function setQueue($queue) { function getLatestQueue() {
$this->queue = $queue; $criteria = new Criteria();
$criteria->orderBy(['id' => Criteria::DESC]);
$criteria->setMaxResults(1);
return $this->queues->matching($criteria)->first() ?: null;
} }
} }