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, null,
$queue $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->newsletter_rendered_body = $rendered_newsletter;
$queue->save(); $queue->save();
// catch DB errors // catch DB errors
@@ -172,7 +177,7 @@ class Newsletter {
function stopNewsletterPreProcessing($error_code = null) { function stopNewsletterPreProcessing($error_code = null) {
MailerLog::processError( MailerLog::processError(
'queue_save', '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 $error_code
); );
} }

View File

@@ -235,6 +235,15 @@ class NewsletterTest extends \MailPoetTest {
->contains(date_i18n('dS', Functions::currentTime('timestamp'))); ->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() { function testItUsesRenderedNewsletterBodyAndSubjectFromQueueObjectWhenPreparingNewsletterForSending() {
$queue = $this->queue; $queue = $this->queue;