Always inject welcome emails scheduler
[MAILPOET-3141]
This commit is contained in:
committed by
Veljko V
parent
3dcb939432
commit
65ca040a20
@ -87,6 +87,9 @@ class Subscribers extends APIEndpoint {
|
|||||||
/** @var SegmentsRepository */
|
/** @var SegmentsRepository */
|
||||||
private $segmentsRepository;
|
private $segmentsRepository;
|
||||||
|
|
||||||
|
/** @var WelcomeScheduler */
|
||||||
|
private $welcomeScheduler;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
SubscriberActions $subscriberActions,
|
SubscriberActions $subscriberActions,
|
||||||
RequiredCustomFieldValidator $requiredCustomFieldValidator,
|
RequiredCustomFieldValidator $requiredCustomFieldValidator,
|
||||||
@ -102,7 +105,8 @@ class Subscribers extends APIEndpoint {
|
|||||||
SubscribersResponseBuilder $subscribersResponseBuilder,
|
SubscribersResponseBuilder $subscribersResponseBuilder,
|
||||||
SubscriberListingRepository $subscriberListingRepository,
|
SubscriberListingRepository $subscriberListingRepository,
|
||||||
SegmentsRepository $segmentsRepository,
|
SegmentsRepository $segmentsRepository,
|
||||||
FieldNameObfuscator $fieldNameObfuscator
|
FieldNameObfuscator $fieldNameObfuscator,
|
||||||
|
WelcomeScheduler $welcomeScheduler
|
||||||
) {
|
) {
|
||||||
$this->subscriberActions = $subscriberActions;
|
$this->subscriberActions = $subscriberActions;
|
||||||
$this->requiredCustomFieldValidator = $requiredCustomFieldValidator;
|
$this->requiredCustomFieldValidator = $requiredCustomFieldValidator;
|
||||||
@ -119,6 +123,7 @@ class Subscribers extends APIEndpoint {
|
|||||||
$this->subscribersResponseBuilder = $subscribersResponseBuilder;
|
$this->subscribersResponseBuilder = $subscribersResponseBuilder;
|
||||||
$this->subscriberListingRepository = $subscriberListingRepository;
|
$this->subscriberListingRepository = $subscriberListingRepository;
|
||||||
$this->segmentsRepository = $segmentsRepository;
|
$this->segmentsRepository = $segmentsRepository;
|
||||||
|
$this->welcomeScheduler = $welcomeScheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get($data = []) {
|
public function get($data = []) {
|
||||||
@ -380,8 +385,7 @@ class Subscribers extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($newSegments)) {
|
if (!empty($newSegments)) {
|
||||||
$scheduler = new WelcomeScheduler();
|
$this->welcomeScheduler->scheduleSubscriberWelcomeNotification($subscriber->id, $newSegments);
|
||||||
$scheduler->scheduleSubscriberWelcomeNotification($subscriber->id, $newSegments);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->successResponse(
|
return $this->successResponse(
|
||||||
|
@ -31,8 +31,12 @@ class WP {
|
|||||||
/** @var WPFunctions */
|
/** @var WPFunctions */
|
||||||
private $wp;
|
private $wp;
|
||||||
|
|
||||||
public function __construct(WPFunctions $wp) {
|
/** @var WelcomeScheduler */
|
||||||
|
private $welcomeScheduler;
|
||||||
|
|
||||||
|
public function __construct(WPFunctions $wp, WelcomeScheduler $welcomeScheduler) {
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
|
$this->welcomeScheduler = $welcomeScheduler;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function synchronizeUser($wpUserId, $oldWpUserData = false) {
|
public function synchronizeUser($wpUserId, $oldWpUserData = false) {
|
||||||
@ -143,8 +147,7 @@ class WP {
|
|||||||
$scheduleWelcomeNewsletter = true;
|
$scheduleWelcomeNewsletter = true;
|
||||||
}
|
}
|
||||||
if ($scheduleWelcomeNewsletter === true) {
|
if ($scheduleWelcomeNewsletter === true) {
|
||||||
$scheduler = new WelcomeScheduler();
|
$this->welcomeScheduler->scheduleWPUserWelcomeNotification(
|
||||||
$scheduler->scheduleWPUserWelcomeNotification(
|
|
||||||
$subscriber->id,
|
$subscriber->id,
|
||||||
(array)$wpUser,
|
(array)$wpUser,
|
||||||
(array)$oldWpUserData
|
(array)$oldWpUserData
|
||||||
|
@ -29,6 +29,7 @@ use MailPoet\Models\SendingQueue;
|
|||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Models\SubscriberIP;
|
use MailPoet\Models\SubscriberIP;
|
||||||
use MailPoet\Models\SubscriberSegment;
|
use MailPoet\Models\SubscriberSegment;
|
||||||
|
use MailPoet\Newsletter\Scheduler\WelcomeScheduler;
|
||||||
use MailPoet\Segments\SegmentsRepository;
|
use MailPoet\Segments\SegmentsRepository;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Settings\SettingsRepository;
|
use MailPoet\Settings\SettingsRepository;
|
||||||
@ -101,7 +102,8 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
$container->get(SubscribersResponseBuilder::class),
|
$container->get(SubscribersResponseBuilder::class),
|
||||||
$container->get(SubscriberListingRepository::class),
|
$container->get(SubscriberListingRepository::class),
|
||||||
$container->get(SegmentsRepository::class),
|
$container->get(SegmentsRepository::class),
|
||||||
$obfuscator
|
$obfuscator,
|
||||||
|
$container->get(WelcomeScheduler::class)
|
||||||
);
|
);
|
||||||
$this->obfuscatedEmail = $obfuscator->obfuscate('email');
|
$this->obfuscatedEmail = $obfuscator->obfuscate('email');
|
||||||
$this->obfuscatedSegments = $obfuscator->obfuscate('segments');
|
$this->obfuscatedSegments = $obfuscator->obfuscate('segments');
|
||||||
@ -110,7 +112,6 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
$this->entityManager->persist($this->segment1);
|
$this->entityManager->persist($this->segment1);
|
||||||
$this->entityManager->persist($this->segment2);
|
$this->entityManager->persist($this->segment2);
|
||||||
|
|
||||||
|
|
||||||
$this->subscriber1 = new SubscriberEntity();
|
$this->subscriber1 = new SubscriberEntity();
|
||||||
$this->subscriber1->setEmail('john@mailpoet.com');
|
$this->subscriber1->setEmail('john@mailpoet.com');
|
||||||
$this->subscriber1->setFirstName('John');
|
$this->subscriber1->setFirstName('John');
|
||||||
|
Reference in New Issue
Block a user