Trashes/restores multiple associated queues when newsletter is

trashed/restored
This commit is contained in:
Vlad
2017-05-01 20:15:41 -04:00
parent e29ae4d7c9
commit a0289775cb
2 changed files with 51 additions and 42 deletions

View File

@@ -86,10 +86,12 @@ class Newsletter extends Model {
}
function trash() {
// trash queue association
if($queue = $this->queue()->findOne()) {
$queue->trash();
}
// trash queue associations
SendingQueue::rawExecute(
'UPDATE `' . SendingQueue::$_table . '` ' .
'SET `deleted_at` = NOW() ' .
'WHERE `newsletter_id` = ' . $this->id
);
return parent::trash();
}
@@ -113,9 +115,7 @@ class Newsletter extends Model {
// delete segment associations
$this->segmentRelations()->deleteMany();
// delete queue association
if($queue = $this->queue()->findOne()) {
$queue->delete();
}
$this->queue()->deleteMany();
return parent::delete();
}
@@ -137,10 +137,12 @@ class Newsletter extends Model {
}
function restore() {
// restore trashed queue association
if($queue = $this->queue()->findOne()) {
$queue->restore();
}
// trash queue associations
SendingQueue::rawExecute(
'UPDATE `' . SendingQueue::$_table . '` ' .
'SET `deleted_at` = null ' .
'WHERE `newsletter_id` = ' . $this->id
);
if($this->status == self::STATUS_SENDING) {
$this->set('status', self::STATUS_DRAFT);