Only do validation if MSS is active
[MAILPOET-3857]
This commit is contained in:
@ -40,9 +40,11 @@ function validateNewsletter(newsletter) {
|
|||||||
return MailPoet.I18n.t('newsletterIsEmpty');
|
return MailPoet.I18n.t('newsletterIsEmpty');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// todo only check this if MSS is active
|
|
||||||
if (body.indexOf('[link:subscription_unsubscribe_url]') < 0
|
if (
|
||||||
&& body.indexOf('[link:subscription_unsubscribe]') < 0
|
window.mailpoet_mss_active
|
||||||
|
&& (body.indexOf('[link:subscription_unsubscribe_url]') < 0)
|
||||||
|
&& (body.indexOf('[link:subscription_unsubscribe]') < 0)
|
||||||
) {
|
) {
|
||||||
return MailPoet.I18n.t('unsubscribeLinkMissing');
|
return MailPoet.I18n.t('unsubscribeLinkMissing');
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ use MailPoet\Models\SendingQueue as SendingQueueModel;
|
|||||||
use MailPoet\Newsletter\NewslettersRepository;
|
use MailPoet\Newsletter\NewslettersRepository;
|
||||||
use MailPoet\Newsletter\Scheduler\Scheduler;
|
use MailPoet\Newsletter\Scheduler\Scheduler;
|
||||||
use MailPoet\Segments\SubscribersFinder;
|
use MailPoet\Segments\SubscribersFinder;
|
||||||
|
use MailPoet\Services\Bridge;
|
||||||
use MailPoet\Tasks\Sending as SendingTask;
|
use MailPoet\Tasks\Sending as SendingTask;
|
||||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||||
|
|
||||||
@ -30,14 +31,19 @@ class SendingQueue extends APIEndpoint {
|
|||||||
/** @var NewslettersRepository */
|
/** @var NewslettersRepository */
|
||||||
private $newsletterRepository;
|
private $newsletterRepository;
|
||||||
|
|
||||||
|
/** @var Bridge */
|
||||||
|
private $bridge;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
SubscribersFeature $subscribersFeature,
|
SubscribersFeature $subscribersFeature,
|
||||||
NewslettersRepository $newsletterRepository,
|
NewslettersRepository $newsletterRepository,
|
||||||
|
Bridge $bridge,
|
||||||
SubscribersFinder $subscribersFinder
|
SubscribersFinder $subscribersFinder
|
||||||
) {
|
) {
|
||||||
$this->subscribersFeature = $subscribersFeature;
|
$this->subscribersFeature = $subscribersFeature;
|
||||||
$this->subscribersFinder = $subscribersFinder;
|
$this->subscribersFinder = $subscribersFinder;
|
||||||
$this->newsletterRepository = $newsletterRepository;
|
$this->newsletterRepository = $newsletterRepository;
|
||||||
|
$this->bridge = $bridge;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function add($data = []) {
|
public function add($data = []) {
|
||||||
@ -153,8 +159,9 @@ class SendingQueue extends APIEndpoint {
|
|||||||
return __('Poet, please add prose to your masterpiece before you send it to your followers.');
|
return __('Poet, please add prose to your masterpiece before you send it to your followers.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo only check this if MSS is active
|
if (
|
||||||
if ((strpos($body, '[link:subscription_unsubscribe_url]') === false)
|
$this->bridge->isMailpoetSendingServiceEnabled()
|
||||||
|
&& (strpos($body, '[link:subscription_unsubscribe_url]') === false)
|
||||||
&& (strpos($body, '[link:subscription_unsubscribe]') === false)
|
&& (strpos($body, '[link:subscription_unsubscribe]') === false)
|
||||||
) {
|
) {
|
||||||
return __('All emails must include an "Unsubscribe" link. Add a footer widget to your email to continue.');
|
return __('All emails must include an "Unsubscribe" link. Add a footer widget to your email to continue.');
|
||||||
|
@ -14,6 +14,7 @@ use MailPoet\Models\ScheduledTask;
|
|||||||
use MailPoet\Models\SendingQueue as SendingQueueModel;
|
use MailPoet\Models\SendingQueue as SendingQueueModel;
|
||||||
use MailPoet\Newsletter\NewslettersRepository;
|
use MailPoet\Newsletter\NewslettersRepository;
|
||||||
use MailPoet\Segments\SubscribersFinder;
|
use MailPoet\Segments\SubscribersFinder;
|
||||||
|
use MailPoet\Services\Bridge;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Settings\SettingsRepository;
|
use MailPoet\Settings\SettingsRepository;
|
||||||
use MailPoet\Tasks\Sending;
|
use MailPoet\Tasks\Sending;
|
||||||
@ -68,6 +69,7 @@ class SendingQueueTest extends \MailPoetTest {
|
|||||||
'check' => true,
|
'check' => true,
|
||||||
]),
|
]),
|
||||||
$this->diContainer->get(NewslettersRepository::class),
|
$this->diContainer->get(NewslettersRepository::class),
|
||||||
|
$this->diContainer->get(Bridge::class),
|
||||||
$this->diContainer->get(SubscribersFinder::class)
|
$this->diContainer->get(SubscribersFinder::class)
|
||||||
);
|
);
|
||||||
$res = $sendingQueue->add(['newsletter_id' => $this->newsletter->id]);
|
$res = $sendingQueue->add(['newsletter_id' => $this->newsletter->id]);
|
||||||
@ -122,7 +124,14 @@ class SendingQueueTest extends \MailPoetTest {
|
|||||||
$newsletter->setBody(['content' => ['type' => 'container', 'columnLayout' => false, 'orientation' => 'vertical']]);
|
$newsletter->setBody(['content' => ['type' => 'container', 'columnLayout' => false, 'orientation' => 'vertical']]);
|
||||||
$this->entityManager->persist($newsletter);
|
$this->entityManager->persist($newsletter);
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
$sendingQueue = $this->diContainer->get(SendingQueueAPI::class);
|
$sendingQueue = new SendingQueueAPI(
|
||||||
|
$this->diContainer->get(SubscribersFeature::class),
|
||||||
|
$this->diContainer->get(NewslettersRepository::class),
|
||||||
|
Stub::make(Bridge::class, [
|
||||||
|
'isMailpoetSendingServiceEnabled' => true,
|
||||||
|
]),
|
||||||
|
$this->diContainer->get(SubscribersFinder::class)
|
||||||
|
);
|
||||||
$response = $sendingQueue->add(['newsletter_id' => $newsletter->getId()]);
|
$response = $sendingQueue->add(['newsletter_id' => $newsletter->getId()]);
|
||||||
$response = $response->getData();
|
$response = $response->getData();
|
||||||
expect($response['errors'][0])->array();
|
expect($response['errors'][0])->array();
|
||||||
|
Reference in New Issue
Block a user