Use Doctrine for update success message in Settings
[MAILPOET-3034]
This commit is contained in:
@@ -7,7 +7,6 @@ use MailPoet\API\JSON\Error as APIError;
|
||||
use MailPoet\Config\AccessControl;
|
||||
use MailPoet\Config\ServicesChecker;
|
||||
use MailPoet\Mailer\MailerLog;
|
||||
use MailPoet\Models\Form;
|
||||
use MailPoet\Services\AuthorizedEmailsController;
|
||||
use MailPoet\Services\Bridge;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
@@ -76,7 +75,7 @@ class Settings extends APIEndpoint {
|
||||
|
||||
$this->authorizedEmailsController->onSettingsSave($settings);
|
||||
if ($signupConfirmation !== $this->settings->get('signup_confirmation.enabled')) {
|
||||
Form::updateSuccessMessages();
|
||||
$this->settings->updateSuccessMessages();
|
||||
}
|
||||
return $this->successResponse($this->settings->getAll());
|
||||
}
|
||||
|
@@ -13,7 +13,6 @@ use MailPoet\Entities\FormEntity;
|
||||
use MailPoet\Entities\UserFlagEntity;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Mailer\MailerLog;
|
||||
use MailPoet\Models\Form;
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\NewsletterLink;
|
||||
use MailPoet\Models\ScheduledTask;
|
||||
@@ -664,7 +663,7 @@ class Populator {
|
||||
if (version_compare($this->settings->get('db_version', '3.23.2'), '3.23.1', '>')) {
|
||||
return;
|
||||
}
|
||||
Form::updateSuccessMessages();
|
||||
$this->settings->updateSuccessMessages();
|
||||
}
|
||||
|
||||
private function enableStatsNotificationsForAutomatedEmails() {
|
||||
|
@@ -6,7 +6,9 @@ use MailPoet\Cron\CronTrigger;
|
||||
use MailPoet\Cron\Workers\InactiveSubscribers;
|
||||
use MailPoet\Cron\Workers\WooCommerceSync;
|
||||
use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Entities\FormEntity;
|
||||
use MailPoet\Entities\ScheduledTaskEntity;
|
||||
use MailPoet\Form\FormsRepository;
|
||||
use MailPoet\Newsletter\Sending\ScheduledTasksRepository;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
use MailPoetVendor\Carbon\Carbon;
|
||||
@@ -31,14 +33,19 @@ class SettingsController {
|
||||
/** @var ScheduledTasksRepository */
|
||||
private $tasksRepository;
|
||||
|
||||
/** @var FormsRepository */
|
||||
private $formsRepository;
|
||||
|
||||
private static $instance;
|
||||
|
||||
public function __construct(
|
||||
SettingsRepository $settingsRepository,
|
||||
ScheduledTasksRepository $scheduledTasksRepository
|
||||
ScheduledTasksRepository $scheduledTasksRepository,
|
||||
FormsRepository $formsRepository
|
||||
) {
|
||||
$this->settingsRepository = $settingsRepository;
|
||||
$this->tasksRepository = $scheduledTasksRepository;
|
||||
$this->formsRepository = $formsRepository;
|
||||
}
|
||||
|
||||
public function get($key, $default = null) {
|
||||
@@ -162,6 +169,32 @@ class SettingsController {
|
||||
$this->tasksRepository->flush();
|
||||
}
|
||||
|
||||
public function updateSuccessMessages(): void {
|
||||
$rightMessage = $this->getDefaultSuccessMessage();
|
||||
$wrongMessage = (
|
||||
$rightMessage === __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet')
|
||||
? __('You’ve been successfully subscribed to our newsletter!', 'mailpoet')
|
||||
: __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet')
|
||||
);
|
||||
/** @var FormEntity[] $forms */
|
||||
$forms = $this->formsRepository->findAll();
|
||||
foreach ($forms as $form) {
|
||||
$settings = $form->getSettings();
|
||||
if (isset($settings['success_message']) && $settings['success_message'] === $wrongMessage) {
|
||||
$settings['success_message'] = $rightMessage;
|
||||
$form->setSettings($settings);
|
||||
$this->settingsRepository->flush();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getDefaultSuccessMessage(): string {
|
||||
if ($this->get('signup_confirmation.enabled')) {
|
||||
return __('Check your inbox or spam folder to confirm your subscription.', 'mailpoet');
|
||||
}
|
||||
return __('You’ve been successfully subscribed to our newsletter!', 'mailpoet');
|
||||
}
|
||||
|
||||
private function createScheduledTask(string $type): ScheduledTaskEntity {
|
||||
$task = new ScheduledTaskEntity();
|
||||
$task->setType($type);
|
||||
|
Reference in New Issue
Block a user