Add source to subscribed entered in admin
[MAILPOET-1377]
This commit is contained in:
@ -14,6 +14,7 @@ use MailPoet\Models\Subscriber;
|
|||||||
use MailPoet\Newsletter\Scheduler\Scheduler;
|
use MailPoet\Newsletter\Scheduler\Scheduler;
|
||||||
use MailPoet\Segments\BulkAction;
|
use MailPoet\Segments\BulkAction;
|
||||||
use MailPoet\Segments\SubscribersListings;
|
use MailPoet\Segments\SubscribersListings;
|
||||||
|
use MailPoet\Subscribers\Source;
|
||||||
use MailPoet\Subscription\Throttling as SubscriptionThrottling;
|
use MailPoet\Subscription\Throttling as SubscriptionThrottling;
|
||||||
use MailPoet\WP\Hooks;
|
use MailPoet\WP\Hooks;
|
||||||
|
|
||||||
@ -191,6 +192,11 @@ class Subscribers extends APIEndpoint {
|
|||||||
return $this->badRequest($errors);
|
return $this->badRequest($errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($subscriber->isNew()) {
|
||||||
|
$subscriber = Source::setSource($subscriber, Source::ADMINISTRATOR);
|
||||||
|
$subscriber->save();
|
||||||
|
}
|
||||||
|
|
||||||
if(!empty($data['segments'])) {
|
if(!empty($data['segments'])) {
|
||||||
Scheduler::scheduleSubscriberWelcomeNotification($subscriber->id, $data['segments']);
|
Scheduler::scheduleSubscriberWelcomeNotification($subscriber->id, $data['segments']);
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ use MailPoet\Models\SubscriberIP;
|
|||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Setting;
|
use MailPoet\Models\Setting;
|
||||||
use MailPoet\Models\SubscriberSegment;
|
use MailPoet\Models\SubscriberSegment;
|
||||||
|
use MailPoet\Subscribers\Source;
|
||||||
|
|
||||||
class SubscribersTest extends \MailPoetTest {
|
class SubscribersTest extends \MailPoetTest {
|
||||||
function _before() {
|
function _before() {
|
||||||
@ -29,7 +30,8 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
'email' => 'john@mailpoet.com',
|
'email' => 'john@mailpoet.com',
|
||||||
'first_name' => 'John',
|
'first_name' => 'John',
|
||||||
'last_name' => 'Doe',
|
'last_name' => 'Doe',
|
||||||
'status' => Subscriber::STATUS_UNCONFIRMED
|
'status' => Subscriber::STATUS_UNCONFIRMED,
|
||||||
|
'source' => Source::API,
|
||||||
));
|
));
|
||||||
$this->subscriber_2 = Subscriber::createOrUpdate(array(
|
$this->subscriber_2 = Subscriber::createOrUpdate(array(
|
||||||
'email' => 'jane@mailpoet.com',
|
'email' => 'jane@mailpoet.com',
|
||||||
@ -39,7 +41,8 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
'segments' => array(
|
'segments' => array(
|
||||||
$this->segment_1->id,
|
$this->segment_1->id,
|
||||||
$this->segment_2->id
|
$this->segment_2->id
|
||||||
)
|
),
|
||||||
|
'source' => Source::API,
|
||||||
));
|
));
|
||||||
|
|
||||||
$this->form = Form::createOrUpdate(array(
|
$this->form = Form::createOrUpdate(array(
|
||||||
@ -125,6 +128,7 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
expect($response->status)->equals(APIResponse::STATUS_BAD_REQUEST);
|
expect($response->status)->equals(APIResponse::STATUS_BAD_REQUEST);
|
||||||
expect($response->errors[0]['message'])
|
expect($response->errors[0]['message'])
|
||||||
->equals('Your email address is invalid!');
|
->equals('Your email address is invalid!');
|
||||||
|
expect($subscriber->source)->equals('administrator');
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItCanSaveAnExistingSubscriber() {
|
function testItCanSaveAnExistingSubscriber() {
|
||||||
@ -140,9 +144,9 @@ class SubscribersTest extends \MailPoetTest {
|
|||||||
Subscriber::findOne($this->subscriber_2->id)->asArray()
|
Subscriber::findOne($this->subscriber_2->id)->asArray()
|
||||||
);
|
);
|
||||||
expect($response->data['first_name'])->equals('Super Jane');
|
expect($response->data['first_name'])->equals('Super Jane');
|
||||||
|
expect($response->data['source'])->equals('api');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function testItCanRemoveListsFromAnExistingSubscriber() {
|
function testItCanRemoveListsFromAnExistingSubscriber() {
|
||||||
$router = new Subscribers();
|
$router = new Subscribers();
|
||||||
$subscriber_data = $this->subscriber_2->asArray();
|
$subscriber_data = $this->subscriber_2->asArray();
|
||||||
|
Reference in New Issue
Block a user