Refactor authorized emails validation from Bridge to Controller

[MAILPOET-2022]
This commit is contained in:
Rostislav Wolny
2019-05-23 17:52:45 +02:00
committed by M. Shull
parent f3d8ac4c7d
commit f86c0c9612
18 changed files with 246 additions and 139 deletions

View File

@ -6,7 +6,7 @@ use MailPoet\API\JSON\Endpoint as APIEndpoint;
use MailPoet\API\JSON\Error as APIError;
use MailPoet\Config\AccessControl;
use MailPoet\Mailer\MailerLog;
use MailPoet\Services\Bridge;
use MailPoet\Services\AuthorizedEmailsController;
use MailPoet\Settings\SettingsController;
use MailPoet\WP\Functions as WPFunctions;
@ -14,8 +14,8 @@ if (!defined('ABSPATH')) exit;
class Mailer extends APIEndpoint {
/** @var Bridge */
private $bridge;
/** @var AuthorizedEmailsController */
private $authorized_emails_controller;
/** @var SettingsController */
private $settings;
@ -24,8 +24,8 @@ class Mailer extends APIEndpoint {
'global' => AccessControl::PERMISSION_MANAGE_EMAILS,
];
function __construct(Bridge $bridge, SettingsController $settings) {
$this->bridge = $bridge;
function __construct(AuthorizedEmailsController $authorized_emails_controller, SettingsController $settings) {
$this->authorized_emails_controller = $authorized_emails_controller;
$this->settings = $settings;
}
@ -55,8 +55,8 @@ class Mailer extends APIEndpoint {
}
function resumeSending() {
if ($this->settings->get(Bridge::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING_NAME)) {
$this->bridge->checkAuthorizedEmailAddresses();
if ($this->settings->get(AuthorizedEmailsController::AUTHORIZED_EMAIL_ADDRESSES_ERROR_SETTING)) {
$this->authorized_emails_controller->checkAuthorizedEmailAddresses();
}
MailerLog::resumeSending();
return $this->successResponse(null);

View File

@ -9,6 +9,7 @@ use MailPoet\Config\AccessControl;
use MailPoet\Cron\Workers\InactiveSubscribers;
use MailPoet\Cron\Workers\WooCommerceSync;
use MailPoet\Models\ScheduledTask;
use MailPoet\Services\AuthorizedEmailsController;
use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController;
use MailPoet\WP\Functions as WPFunctions;
@ -21,12 +22,25 @@ class Settings extends APIEndpoint {
/** @var SettingsController */
private $settings;
/** @var Bridge */
private $bridge;
/** @var AuthorizedEmailsController */
private $authorized_emails_controller;
public $permissions = [
'global' => AccessControl::PERMISSION_MANAGE_SETTINGS,
];
function __construct(SettingsController $settings) {
public function __construct(
SettingsController $settings,
Bridge $bridge,
AuthorizedEmailsController $authorized_emails_controller
) {
$this->settings = $settings;
$this->bridge = $bridge;
$this->authorized_emails_controller = $authorized_emails_controller;
}
function get() {
@ -50,8 +64,8 @@ class Settings extends APIEndpoint {
$this->onSettingsChange($old_settings, $this->settings->getAll());
$bridge = new Bridge();
$bridge->onSettingsSave($settings);
$this->bridge->onSettingsSave($settings);
$this->authorized_emails_controller->onSettingsSave($settings);
// Will be uncommented on task [MAILPOET-1998]
// if ($signup_confirmation !== $this->settings->get('signup_confirmation.enabled')) {
// Form::updateSuccessMessages();