- Fixes an issue with welcome email not being sent to WP user with any

role
This commit is contained in:
Vlad
2016-04-22 18:46:39 -04:00
parent 78cabde9e1
commit 5efa9f65c6
2 changed files with 5 additions and 3 deletions

View File

@ -123,7 +123,8 @@ class Scheduler {
return false; return false;
} }
$wp_user = (array) get_userdata($subscriber->wp_user_id); $wp_user = (array) get_userdata($subscriber->wp_user_id);
if(!in_array($newsletter->role, $wp_user['roles'])) { if($newsletter->role !== \MailPoet\Newsletter\Scheduler\Scheduler::wp_all_roles
&& !in_array($newsletter->role, $wp_user['roles'])) {
return false; return false;
} }
return true; return true;

View File

@ -10,6 +10,7 @@ use MailPoet\Models\SendingQueue;
class Scheduler { class Scheduler {
const seconds_in_hour = 3600; const seconds_in_hour = 3600;
const last_weekday_format = 'L'; const last_weekday_format = 'L';
const wp_all_roles = 'mailpoet_all';
static function postNotification($newsletter_id) { static function postNotification($newsletter_id) {
$newsletter = Newsletter::filter('filterWithOptions') $newsletter = Newsletter::filter('filterWithOptions')
@ -76,13 +77,13 @@ class Scheduler {
// do not schedule welcome newsletter if roles have not changed // do not schedule welcome newsletter if roles have not changed
$old_role = (array) $old_user_data->roles; $old_role = (array) $old_user_data->roles;
$new_role = (array) $wp_user->roles; $new_role = (array) $wp_user->roles;
if($newsletter['role'] === 'mailpoet_all' || if($newsletter['role'] === self::wp_all_roles ||
!array_diff($old_role, $new_role) !array_diff($old_role, $new_role)
) { ) {
continue; continue;
} }
} }
if($newsletter['role'] === 'mailpoet_all' || if($newsletter['role'] === self::wp_all_roles ||
in_array($newsletter['role'], $wp_user['roles']) in_array($newsletter['role'], $wp_user['roles'])
) { ) {
self::createSendingQueueEntry($newsletter, $subscriber_id); self::createSendingQueueEntry($newsletter, $subscriber_id);