Change segments handling for notification newsletters
This commit is contained in:
@ -192,10 +192,6 @@ class Populator {
|
||||
array(
|
||||
'name' => 'schedule',
|
||||
'newsletter_type' => 'notification',
|
||||
),
|
||||
array(
|
||||
'name' => 'segments',
|
||||
'newsletter_type' => 'notification',
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -66,12 +66,15 @@ class Scheduler {
|
||||
}
|
||||
|
||||
function processPostNotificationNewsletter($newsletter, $queue) {
|
||||
$segments = unserialize($newsletter->segments);
|
||||
$segments = $newsletter->segments()->findArray();
|
||||
if(empty($segments)) {
|
||||
$queue->delete();
|
||||
return;
|
||||
}
|
||||
$subscribers = Subscriber::getSubscribedInSegments($segments)
|
||||
$segment_ids = array_map(function($segment) {
|
||||
return $segment['id'];
|
||||
}, $segments);
|
||||
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)
|
||||
->findArray();
|
||||
$subscribers = Helpers::arrayColumn($subscribers, 'subscriber_id');
|
||||
$subscribers = array_unique($subscribers);
|
||||
|
@ -88,7 +88,11 @@ class SendingQueue {
|
||||
|
||||
$message = __('The newsletter has been scheduled.');
|
||||
} else {
|
||||
$subscribers = Subscriber::getSubscribedInSegments($data['segments'])
|
||||
$segments = $newsletter->segments()->findArray();
|
||||
$segment_ids = array_map(function($segment) {
|
||||
return $segment['id'];
|
||||
}, $segments);
|
||||
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)
|
||||
->findArray();
|
||||
$subscribers = Helpers::arrayColumn($subscribers, 'subscriber_id');
|
||||
$subscribers = array_unique($subscribers);
|
||||
|
Reference in New Issue
Block a user