Use a default subject if a rendered newsletter subject is empty [MAILPOET-1462]

This commit is contained in:
wxa
2018-12-13 22:13:01 +03:00
parent 7135fe512c
commit a1fa3dcd28
2 changed files with 15 additions and 1 deletions

View File

@@ -101,6 +101,11 @@ class Newsletter {
null,
$queue
);
// if the rendered subject is empty, use a default subject,
// having no subject in a newsletter is considered spammy
if(empty(trim($queue->newsletter_rendered_subject))) {
$queue->newsletter_rendered_subject = __('No subject', 'mailpoet');
}
$queue->newsletter_rendered_body = $rendered_newsletter;
$queue->save();
// catch DB errors
@@ -172,7 +177,7 @@ class Newsletter {
function stopNewsletterPreProcessing($error_code = null) {
MailerLog::processError(
'queue_save',
__('There was an error processing your newsletter during sending. If possible, please contact us and report this issue.'),
__('There was an error processing your newsletter during sending. If possible, please contact us and report this issue.', 'mailpoet'),
$error_code
);
}

View File

@@ -235,6 +235,15 @@ class NewsletterTest extends \MailPoetTest {
->contains(date_i18n('dS', Functions::currentTime('timestamp')));
}
function testItUsesADefaultSubjectIfRenderedSubjectIsEmptyWhenPreprocessingNewsletter() {
$newsletter = $this->newsletter;
$newsletter->subject = ' [custom_shortcode:should_render_empty] ';
$queue = $this->queue;
$newsletter = $this->newsletter_task->preProcessNewsletter($newsletter, $queue);
$queue = SendingTask::getByNewsletterId($newsletter->id);
expect($queue->newsletter_rendered_subject)
->equals('No subject');
}
function testItUsesRenderedNewsletterBodyAndSubjectFromQueueObjectWhenPreparingNewsletterForSending() {
$queue = $this->queue;