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) ->withSegments(true)
->withSendingQueue() ->withSendingQueue()
->withStatistics(); ->withStatistics();
} else if($newsletter->type === Newsletter::TYPE_WELCOME) { } else if($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
$newsletter $newsletter
->withOptions() ->withOptions()
->withTotalSent() ->withTotalSent()

View File

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

View File

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