Use Doctrine to re-check authorized emails on save

[MAILPOET-2900]
This commit is contained in:
Jan Jakeš
2020-05-13 13:35:44 +02:00
committed by Veljko V
parent 57b5d0c3c0
commit 8fe3870608
3 changed files with 9 additions and 12 deletions

View File

@ -102,17 +102,13 @@ class NewsletterSaveController {
}
}
$oldNewsletterModel = null;
if (isset($data['id'])) {
$fetched = Newsletter::findOne(intval($data['id']));
$oldNewsletterModel = $fetched instanceof Newsletter ? $fetched : null;
}
if (!empty($data['body'])) {
$data['body'] = $this->emoji->encodeForUTF8Column(MP_NEWSLETTERS_TABLE, 'body', $data['body']);
}
$newsletter = $this->getNewsletter($data);
$oldSenderAddress = $newsletter->getSenderAddress();
$this->updateNewsletter($newsletter, $data);
$this->updateSegments($newsletter, $data['segments'] ?? []);
$this->updateOptions($newsletter, $data['options'] ?? []);
@ -135,7 +131,7 @@ class NewsletterSaveController {
$this->updateQueue($newsletter, $newsletterModel, $data['options'] ?? []);
$this->wp->doAction('mailpoet_api_newsletters_save_after', $newsletterModel);
$this->authorizedEmailsController->onNewsletterUpdate($newsletterModel, $oldNewsletterModel);
$this->authorizedEmailsController->onNewsletterSenderAddressUpdate($newsletter, $oldSenderAddress);
$previewUrl = NewsletterUrl::getViewInBrowserUrl($newsletterModel);
return [$newsletterModel->asArray(), ['preview_url' => $previewUrl]];