- updated menu icon for our plugin
- added watchCss command to watch only CSS files
- added Status column in Newsletters listing
- added progress bar styles
- fixed issue with JS assets being loaded twice on non MP pages
- changed subscriber_ids to segment_ids in addQueue
This commit is contained in:
Jonathan Labreuille
2015-12-02 12:25:28 +01:00
committed by MrCasual
parent 72d1eb79a6
commit bf58d8a22d
10 changed files with 134 additions and 28 deletions

View File

@@ -12,6 +12,7 @@ use MailPoet\Models\NewsletterSegment;
use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\NewsletterOption;
use MailPoet\Newsletter\Renderer\Renderer;
use MailPoet\Models\Queue as SendingQueue;
if(!defined('ABSPATH')) exit;
@@ -219,14 +220,19 @@ class Newsletters {
$listing_data = $listing->get();
// fetch segments relations for each returned item
foreach($listing_data['items'] as &$item) {
// get segments
$segments = NewsletterSegment::select('segment_id')
->where('newsletter_id', $item['id'])
->findMany();
$item['segments'] = array_map(function($relation) {
return $relation->segment_id;
}, $segments);
// get queue
$queue = SendingQueue::where('newsletter_id', $item['id'])
->findOne();
$item['queue'] = ($queue !== false) ? $queue->asArray() : null;
}
wp_send_json($listing_data);

View File

@@ -3,6 +3,8 @@ namespace MailPoet\Router;
use MailPoet\Queue\Daemon;
use MailPoet\Queue\Supervisor;
use MailPoet\Models\Queue as SendingQueue;
use MailPoet\Models\Segment;
use MailPoet\Util\Helpers;
if(!defined('ABSPATH')) exit;
@@ -48,14 +50,27 @@ class Queue {
}
function addQueue($data) {
$queue = \MailPoet\Models\Queue::create();
$queue = SendingQueue::create();
$queue->newsletter_id = $data['newsletter_id'];
$subscriber_ids = array();
$segments = Segment::whereIn('id', $data['segments'])->findMany();
foreach($segments as $segment) {
$subscriber_ids = array_merge($subscriber_ids, Helpers::arrayColumn(
$segment->subscribers()->findArray(),
'id'
));
}
$subscriber_ids = array_unique($subscriber_ids);
$queue->subscribers = json_encode(
array(
'to_process' => $data['subscribers']
'to_process' => $subscriber_ids
)
);
$queue->count_total = $queue->count_to_process = count($data['subscribers']);
$queue->count_total = $queue->count_to_process = count($subscriber_ids);
$queue->save();
wp_send_json(
!$queue->save() ?
@@ -72,7 +87,7 @@ class Queue {
function addQueues($data) {
$result = array_map(function ($queueData) {
$queue = \MailPoet\Models\Queue::create();
$queue = SendingQueue::create();
$queue->newsletter_id = $queueData['newsletter_id'];
$queue->subscribers = json_encode(
array(
@@ -102,7 +117,7 @@ class Queue {
}
function deleteQueue($data) {
$queue = \MailPoet\Models\Queue::whereNull('deleted_at')
$queue = SendingQueue::whereNull('deleted_at')
->findOne($data['queue_id']);
if(!$queue) {
wp_send_json(
@@ -118,7 +133,7 @@ class Queue {
}
function deleteQueues($data) {
$queues = \MailPoet\Models\Queue::whereNull('deleted_at')
$queues = SendingQueue::whereNull('deleted_at')
->whereIn('id', $data['queue_ids'])
->findResultSet();
if(!$queues->count()) {
@@ -137,7 +152,7 @@ class Queue {
}
function getQueueStatus($data) {
$queue = \MailPoet\Models\Queue::whereNull('deleted_at')
$queue = SendingQueue::whereNull('deleted_at')
->findOne($data['queue_id'])
->asArray();
wp_send_json(
@@ -154,7 +169,7 @@ class Queue {
}
function getQueuesStatus($data) {
$queues = \MailPoet\Models\Queue::whereNull('deleted_at')
$queues = SendingQueue::whereNull('deleted_at')
->whereIn('id', $data['queue_ids'])
->findArray();
wp_send_json(