- Fixes newsletter preview not being sent

- Adds unit test
This commit is contained in:
Vlad
2016-12-29 15:59:31 -05:00
parent d2b41a5b90
commit 4f37a44363
2 changed files with 39 additions and 13 deletions

View File

@@ -247,13 +247,11 @@ class Newsletters extends APIEndpoint {
APIError::NOT_FOUND => __('This newsletter does not exist.', 'mailpoet')
));
} else {
$newsletter = $newsletter->asArray();
$renderer = new Renderer($newsletter, $preview = true);
$rendered_newsletter = $renderer->render();
$divider = '***MailPoet***';
$data_for_shortcodes = array_merge(
array($newsletter['subject']),
array($newsletter->subject),
$rendered_newsletter
);
@@ -266,19 +264,22 @@ class Newsletters extends APIEndpoint {
$newsletter,
$subscriber
);
list(
$newsletter['subject'],
$newsletter['body']['html'],
$newsletter['body']['text']
$rendered_newsletter['subject'],
$rendered_newsletter['body']['html'],
$rendered_newsletter['body']['text']
) = explode($divider, $shortcodes->replace($body));
try {
$mailer = new \MailPoet\Mailer\Mailer(
$mailer = false,
$sender = false,
$reply_to = false
$mailer = (!empty($data['mailer'])) ?
$data['mailer'] :
new \MailPoet\Mailer\Mailer(
$mailer = false,
$sender = false,
$reply_to = false
);
$result = $mailer->send($newsletter, $data['subscriber']);
$result = $mailer->send($rendered_newsletter, $data['subscriber']);
if($result['response'] === false) {
$error = sprintf(