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');
|
||||
}
|
||||
}
|
||||
// todo only check this if MSS is active
|
||||
if (body.indexOf('[link:subscription_unsubscribe_url]') < 0
|
||||
&& body.indexOf('[link:subscription_unsubscribe]') < 0
|
||||
|
||||
if (
|
||||
window.mailpoet_mss_active
|
||||
&& (body.indexOf('[link:subscription_unsubscribe_url]') < 0)
|
||||
&& (body.indexOf('[link:subscription_unsubscribe]') < 0)
|
||||
) {
|
||||
return MailPoet.I18n.t('unsubscribeLinkMissing');
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ use MailPoet\Models\SendingQueue as SendingQueueModel;
|
||||
use MailPoet\Newsletter\NewslettersRepository;
|
||||
use MailPoet\Newsletter\Scheduler\Scheduler;
|
||||
use MailPoet\Segments\SubscribersFinder;
|
||||
use MailPoet\Services\Bridge;
|
||||
use MailPoet\Tasks\Sending as SendingTask;
|
||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||
|
||||
@ -30,14 +31,19 @@ class SendingQueue extends APIEndpoint {
|
||||
/** @var NewslettersRepository */
|
||||
private $newsletterRepository;
|
||||
|
||||
/** @var Bridge */
|
||||
private $bridge;
|
||||
|
||||
public function __construct(
|
||||
SubscribersFeature $subscribersFeature,
|
||||
NewslettersRepository $newsletterRepository,
|
||||
Bridge $bridge,
|
||||
SubscribersFinder $subscribersFinder
|
||||
) {
|
||||
$this->subscribersFeature = $subscribersFeature;
|
||||
$this->subscribersFinder = $subscribersFinder;
|
||||
$this->newsletterRepository = $newsletterRepository;
|
||||
$this->bridge = $bridge;
|
||||
}
|
||||
|
||||
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.');
|
||||
}
|
||||
|
||||
// todo only check this if MSS is active
|
||||
if ((strpos($body, '[link:subscription_unsubscribe_url]') === false)
|
||||
if (
|
||||
$this->bridge->isMailpoetSendingServiceEnabled()
|
||||
&& (strpos($body, '[link:subscription_unsubscribe_url]') === false)
|
||||
&& (strpos($body, '[link:subscription_unsubscribe]') === false)
|
||||
) {
|
||||
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\Newsletter\NewslettersRepository;
|
||||
use MailPoet\Segments\SubscribersFinder;
|
||||
use MailPoet\Services\Bridge;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
use MailPoet\Settings\SettingsRepository;
|
||||
use MailPoet\Tasks\Sending;
|
||||
@ -68,6 +69,7 @@ class SendingQueueTest extends \MailPoetTest {
|
||||
'check' => true,
|
||||
]),
|
||||
$this->diContainer->get(NewslettersRepository::class),
|
||||
$this->diContainer->get(Bridge::class),
|
||||
$this->diContainer->get(SubscribersFinder::class)
|
||||
);
|
||||
$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']]);
|
||||
$this->entityManager->persist($newsletter);
|
||||
$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 = $response->getData();
|
||||
expect($response['errors'][0])->array();
|
||||
|
Reference in New Issue
Block a user