Added Newsletter::getArchives() in order to return proper archives

- Archives page: replaced created_at by processed_at as the issue date
This commit is contained in:
Jonathan Labreuille
2016-07-28 11:52:56 +02:00
parent 420650f37f
commit 641ba04685
2 changed files with 30 additions and 4 deletions

View File

@@ -611,4 +611,31 @@ class Newsletter extends Model {
->whereIn('options.value', $segments)
->findMany();
}
static function getArchives($segment_ids = array()) {
$orm = self::table_alias('newsletters')
->distinct()->select('newsletters.*')
->whereIn('newsletters.type', array(
self::TYPE_STANDARD,
self::TYPE_NOTIFICATION_HISTORY
))
->join(
MP_SENDING_QUEUES_TABLE,
'queues.newsletter_id = newsletters.id',
'queues'
)
->where('queues.status', SendingQueue::STATUS_COMPLETED)
->select('queues.processed_at')
->orderByDesc('queues.processed_at');
if(!empty($segment_ids)) {
$orm->join(
MP_NEWSLETTER_SEGMENT_TABLE,
'newsletter_segments.newsletter_id = newsletters.id',
'newsletter_segments'
)
->whereIn('newsletter_segments.segment_id', $segment_ids);
}
return $orm->findMany();
}
}