Update call Newsletter::preProcessNewsletter()

Newsletter::preProcessNewsletter() was refactored in a previous commit
to use Doctrine instead of Paris. As a result, the signature of this
method was changed, but one call was left using the old signature and
passing a Paris model instead of a Doctrine entity. This commit fixes
this issue.

[MAILPOET-5682]
This commit is contained in:
Rodrigo Primo
2023-11-21 22:51:19 -03:00
committed by Jan Jakeš
parent 0604d97212
commit b2c2be4fb6
2 changed files with 16 additions and 8 deletions

View File

@@ -156,7 +156,7 @@ class NewsletterSaveController {
}
$this->rescheduleIfNeeded($newsletter, $newsletterModel);
$this->updateQueue($newsletter, $newsletterModel, $data['options'] ?? []);
$this->updateQueue($newsletter, $data['options'] ?? []);
$this->authorizedEmailsController->onNewsletterSenderAddressUpdate($newsletter, $oldSenderAddress);
return $newsletter;
}
@@ -410,7 +410,7 @@ class NewsletterSaveController {
}
}
private function updateQueue(NewsletterEntity $newsletter, Newsletter $newsletterModel, array $options) {
private function updateQueue(NewsletterEntity $newsletter, array $options) {
if ($newsletter->getType() !== NewsletterEntity::TYPE_STANDARD) {
return;
}
@@ -425,15 +425,18 @@ class NewsletterSaveController {
$this->entityManager->remove($queue);
$newsletter->setStatus(NewsletterEntity::STATUS_DRAFT);
} else {
$queueModel = $newsletterModel->getQueue();
$queueModel->newsletterRenderedSubject = null;
$queueModel->newsletterRenderedBody = null;
$queue->setNewsletterRenderedSubject(null);
$queue->setNewsletterRenderedBody(null);
$this->entityManager->persist($queue);
$newsletterQueueTask = new NewsletterQueueTask();
$newsletterQueueTask->preProcessNewsletter($newsletter, $queueModel);
$task = $queue->getTask();
// 'preProcessNewsletter' modifies queue by old model - let's reload it
$this->entityManager->refresh($queue);
if (!$task instanceof ScheduledTaskEntity) {
throw new InvalidStateException();
}
$newsletterQueueTask->preProcessNewsletter($newsletter, $task);
}
$this->entityManager->flush();
}