Adds automatic email type to newsletter model/API listing method

This commit is contained in:
Vlad
2018-03-29 16:32:03 -04:00
parent 4955673885
commit adbebb39f1
3 changed files with 8 additions and 5 deletions

View File

@ -377,7 +377,7 @@ class Newsletters extends APIEndpoint {
->withSegments(true)
->withSendingQueue()
->withStatistics();
} else if($newsletter->type === Newsletter::TYPE_WELCOME) {
} else if($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
$newsletter
->withOptions()
->withTotalSent()

View File

@ -11,6 +11,7 @@ if(!defined('ABSPATH')) exit;
class Newsletter extends Model {
public static $_table = MP_NEWSLETTERS_TABLE;
const TYPE_AUTOMATIC = 'automatic';
const TYPE_STANDARD = 'standard';
const TYPE_WELCOME = 'welcome';
const TYPE_NOTIFICATION = 'notification';
@ -574,7 +575,6 @@ class Newsletter extends Model {
->whereGte('tasks.processed_at', Carbon::now()->subMonths(3))
->count();
return array(
'welcome_newsletters_count' => $welcome_newsletters_count,
'notifications_count' => $notifications_count,
@ -748,6 +748,7 @@ class Newsletter extends Model {
case self::TYPE_WELCOME:
case self::TYPE_NOTIFICATION:
case self::TYPE_AUTOMATIC:
$groups = array_merge($groups, array(
array(
'name' => self::STATUS_ACTIVE,
@ -821,6 +822,7 @@ class Newsletter extends Model {
if(in_array($type, array(
self::TYPE_STANDARD,
self::TYPE_WELCOME,
self::TYPE_AUTOMATIC,
self::TYPE_NOTIFICATION,
self::TYPE_NOTIFICATION_HISTORY
))) {

View File

@ -333,6 +333,7 @@ class NewsletterTest extends \MailPoetTest {
Newsletter::TYPE_STANDARD,
Newsletter::TYPE_STANDARD, // should be returned
Newsletter::TYPE_WELCOME,
Newsletter::TYPE_AUTOMATIC,
Newsletter::TYPE_NOTIFICATION,
Newsletter::TYPE_NOTIFICATION_HISTORY, // should be returned
Newsletter::TYPE_NOTIFICATION_HISTORY
@ -352,14 +353,14 @@ class NewsletterTest extends \MailPoetTest {
$sending_queues[$i]->status = SendingQueue::STATUS_COMPLETED;
$sending_queues[$i]->save();
}
// set teh sending queue status of the first newsletter to null
// set the sending queue status of the first newsletter to null
$sending_queues[0]->status = null;
$sending_queues[0]->save();
// trash the last newsletter
end($newsletters)->trash();
expect(Newsletter::findMany())->count(6);
expect(Newsletter::findMany())->count(7);
// archives return only:
// 1. STANDARD and NOTIFICATION HISTORY newsletters
@ -369,7 +370,7 @@ class NewsletterTest extends \MailPoetTest {
expect($results)->count(2);
expect($results[0]->id)->equals($newsletters[1]->id);
expect($results[0]->type)->equals(Newsletter::TYPE_STANDARD);
expect($results[1]->id)->equals($newsletters[4]->id);
expect($results[1]->id)->equals($newsletters[5]->id);
expect($results[1]->type)->equals(Newsletter::TYPE_NOTIFICATION_HISTORY);
}