diff --git a/assets/js/src/newsletters/send.jsx b/assets/js/src/newsletters/send.jsx index 1db80ac83f..199f3177b1 100644 --- a/assets/js/src/newsletters/send.jsx +++ b/assets/js/src/newsletters/send.jsx @@ -211,7 +211,7 @@ class NewsletterSend extends React.Component { saveTemplate = (response, done) => { const thumbnailPromise = this.getThumbnailPromise(response.meta.preview_url); thumbnailPromise - .then((thumbnail) => { + .then((thumbnailData) => { MailPoet.Ajax.post({ api_version: window.mailpoet_api_version, endpoint: 'newsletterTemplates', @@ -219,7 +219,7 @@ class NewsletterSend extends React.Component { data: { newsletter_id: response.data.id, name: response.data.subject, - thumbnail, + thumbnail_data: thumbnailData, body: JSON.stringify(response.data.body), categories: '["recent"]', }, diff --git a/lib/NewsletterTemplates/NewsletterTemplatesRepository.php b/lib/NewsletterTemplates/NewsletterTemplatesRepository.php index 73847a4575..b7820d696c 100644 --- a/lib/NewsletterTemplates/NewsletterTemplatesRepository.php +++ b/lib/NewsletterTemplates/NewsletterTemplatesRepository.php @@ -52,6 +52,10 @@ class NewsletterTemplatesRepository extends Repository { $template->setThumbnail($data['thumbnail']); } + if (isset($data['thumbnail_data'])) { + $template->setThumbnailData($data['thumbnail_data']); + } + if (isset($data['body'])) { $template->setBody(json_decode($data['body'], true)); } diff --git a/tests/integration/NewsletterTemplates/NewsletterTemplatesRepositoryTest.php b/tests/integration/NewsletterTemplates/NewsletterTemplatesRepositoryTest.php index 6fc2cf8a4e..0ae4f00700 100644 --- a/tests/integration/NewsletterTemplates/NewsletterTemplatesRepositoryTest.php +++ b/tests/integration/NewsletterTemplates/NewsletterTemplatesRepositoryTest.php @@ -18,17 +18,21 @@ class NewsletterTemplatesRepositoryTest extends \MailPoetTest { $createdTemplate = $this->newsletterTemplatesRepository->createOrUpdate([ 'name' => 'Another template', 'body' => '{"content": {}, "globalStyles": {}}', + 'thumbnail_data' => 'data:image/gif;base64,R0lGODlhAQABAAAAACw=', ]); expect($createdTemplate->getName())->equals('Another template'); expect($createdTemplate->getBody())->equals(['content' => [], 'globalStyles' => []]); + expect($createdTemplate->getThumbnailData())->equals('data:image/gif;base64,R0lGODlhAQABAAAAACw='); $updatedTemplate = $this->newsletterTemplatesRepository->createOrUpdate([ 'id' => $createdTemplate->getId(), 'name' => 'Another template updated', 'body' => '{"content": "changed"}', + 'thumbnail_data' => 'data:image/gif;base64,R0lGO==', ]); expect($updatedTemplate->getName())->equals('Another template updated'); expect($updatedTemplate->getBody())->equals(['content' => 'changed']); + expect($updatedTemplate->getThumbnailData())->equals('data:image/gif;base64,R0lGO=='); } public function testItCleansRecentlySent() {