Merge pull request #1018 from mailpoet/prevent_sending_with_broken_newsletter_body
Prevents sending emails when rendered newsletter is broken [MAILPOET-1020]
This commit is contained in:
@ -12,6 +12,14 @@ class SendingQueue extends Model {
|
||||
const PRIORITY_MEDIUM = 5;
|
||||
const PRIORITY_LOW = 10;
|
||||
|
||||
function __construct() {
|
||||
parent::__construct();
|
||||
|
||||
$this->addValidations('newsletter_rendered_body', array(
|
||||
'validRenderedNewsletterBody' => __('Rendered newsletter body is invalid!', 'mailpoet')
|
||||
));
|
||||
}
|
||||
|
||||
function newsletter() {
|
||||
return $this->has_one(__NAMESPACE__ . '\Newsletter', 'id', 'newsletter_id');
|
||||
}
|
||||
@ -43,10 +51,10 @@ class SendingQueue extends Model {
|
||||
}
|
||||
|
||||
function save() {
|
||||
if(!is_serialized($this->subscribers)) {
|
||||
if(!is_serialized($this->subscribers) && !is_null($this->subscribers)) {
|
||||
$this->set('subscribers', serialize($this->subscribers));
|
||||
}
|
||||
if(!is_serialized($this->newsletter_rendered_body)) {
|
||||
if(!is_serialized($this->newsletter_rendered_body) && !is_null($this->newsletter_rendered_body)) {
|
||||
$this->set('newsletter_rendered_body', serialize($this->newsletter_rendered_body));
|
||||
}
|
||||
// set the default priority to medium
|
||||
@ -86,9 +94,8 @@ class SendingQueue extends Model {
|
||||
|
||||
function asArray() {
|
||||
$model = parent::asArray();
|
||||
$model['subscribers'] = (is_serialized($this->subscribers))
|
||||
? unserialize($this->subscribers)
|
||||
: $this->subscribers;
|
||||
$model['subscribers'] = $this->getSubscribers();
|
||||
$model['newsletter_rendered_body'] = $this->getNewsletterRenderedBody();
|
||||
return $model;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user