Refactor segment lists fetching methods to separate repository

[MAILPOET-3164]
This commit is contained in:
Rostislav Wolny
2021-01-20 13:27:09 +01:00
committed by Veljko V
parent cd578e6475
commit 8456581695
10 changed files with 320 additions and 97 deletions

View File

@@ -77,7 +77,7 @@ use MailPoet\Form\Util\Export;
use MailPoet\Models\Form;
use MailPoet\Router\Endpoints\FormPreview;
use MailPoet\Router\Router;
use MailPoet\Segments\SegmentSubscribersRepository;
use MailPoet\Segments\SegmentsSimpleListRepository;
use MailPoet\Settings\Pages;
use MailPoet\Settings\UserFlagsController;
use MailPoet\WP\AutocompletePostListLoader as WPPostListLoader;
@@ -117,8 +117,8 @@ class FormEditor {
/** @var WPPostListLoader */
private $wpPostListLoader;
/** @var SegmentSubscribersRepository */
private $segmentSubscribersRepository;
/** @var SegmentsSimpleListRepository */
private $segmentsListRepository;
private $activeTemplates = [
FormEntity::DISPLAY_TYPE_POPUP => [
@@ -205,7 +205,7 @@ class FormEditor {
UserFlagsController $userFlags,
WPPostListLoader $wpPostListLoader,
TemplateRepository $templateRepository,
SegmentSubscribersRepository $segmentSubscribersRepository
SegmentsSimpleListRepository $segmentsListRepository
) {
$this->pageRenderer = $pageRenderer;
$this->customFieldsRepository = $customFieldsRepository;
@@ -218,7 +218,7 @@ class FormEditor {
$this->templatesRepository = $templateRepository;
$this->userFlags = $userFlags;
$this->wpPostListLoader = $wpPostListLoader;
$this->segmentSubscribersRepository = $segmentSubscribersRepository;
$this->segmentsListRepository = $segmentsListRepository;
}
public function render() {
@@ -240,7 +240,7 @@ class FormEditor {
'shortcode' => Export::get('shortcode', $form),
],
'mailpoet_pages' => Pages::getMailPoetPages(),
'segments' => $this->segmentSubscribersRepository->getSimpleSegmentListWithSubscribersCounts(SegmentEntity::TYPE_DEFAULT),
'segments' => $this->segmentsListRepository->getListWithSubscribedSubscribersCounts([SegmentEntity::TYPE_DEFAULT]),
'styles' => $this->formRenderer->getCustomStyles($form),
'date_types' => array_map(function ($label, $value) {
return [

View File

@@ -12,7 +12,7 @@ use MailPoet\Features\FeaturesController;
use MailPoet\Listing\PageLimit;
use MailPoet\Models\Newsletter;
use MailPoet\NewsletterTemplates\NewsletterTemplatesRepository;
use MailPoet\Segments\SegmentSubscribersRepository;
use MailPoet\Segments\SegmentsSimpleListRepository;
use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController;
use MailPoet\Settings\UserFlagsController;
@@ -65,8 +65,8 @@ class Newsletters {
/** @var WPPostListLoader */
private $wpPostListLoader;
/** @var SegmentSubscribersRepository */
private $segmentSubscribersRepository;
/** @var SegmentsSimpleListRepository */
private $segmentsListRepository;
public function __construct(
PageRenderer $pageRenderer,
@@ -82,7 +82,7 @@ class Newsletters {
NewsletterTemplatesRepository $newsletterTemplatesRepository,
WPPostListLoader $wpPostListLoader,
AutomaticEmails $automaticEmails,
SegmentSubscribersRepository $segmentSubscribersRepository
SegmentsSimpleListRepository $segmentsListRepository
) {
$this->pageRenderer = $pageRenderer;
$this->listingPageLimit = $listingPageLimit;
@@ -97,7 +97,7 @@ class Newsletters {
$this->newsletterTemplatesRepository = $newsletterTemplatesRepository;
$this->automaticEmails = $automaticEmails;
$this->wpPostListLoader = $wpPostListLoader;
$this->segmentSubscribersRepository = $segmentSubscribersRepository;
$this->segmentsListRepository = $segmentsListRepository;
}
public function render() {
@@ -115,7 +115,7 @@ class Newsletters {
$data = [];
$data['items_per_page'] = $this->listingPageLimit->getLimitPerPage('newsletters');
$segments = $this->segmentSubscribersRepository->getSimpleSegmentListWithSubscribersCounts();
$segments = $this->segmentsListRepository->getListWithSubscribedSubscribersCounts();
$data['segments'] = $segments;
$data['settings'] = $this->settings->getAll();
$data['mss_active'] = Bridge::isMPSendingServiceEnabled();

View File

@@ -6,7 +6,7 @@ use MailPoet\AdminPages\PageRenderer;
use MailPoet\Config\Installer;
use MailPoet\Config\ServicesChecker;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Segments\SegmentSubscribersRepository;
use MailPoet\Segments\SegmentsSimpleListRepository;
use MailPoet\Settings\Hosts;
use MailPoet\Settings\Pages;
use MailPoet\Settings\SettingsController;
@@ -38,8 +38,8 @@ class Settings {
/** @var Installation */
private $installation;
/** @var SegmentSubscribersRepository */
private $segmentSubscribersRepository;
/** @var SegmentsSimpleListRepository */
private $segmentsListRepository;
public function __construct(
PageRenderer $pageRenderer,
@@ -49,7 +49,7 @@ class Settings {
ServicesChecker $servicesChecker,
Installation $installation,
Captcha $captcha,
SegmentSubscribersRepository $segmentSubscribersRepository
SegmentsSimpleListRepository $segmentsListRepository
) {
$this->pageRenderer = $pageRenderer;
$this->settings = $settings;
@@ -58,7 +58,7 @@ class Settings {
$this->servicesChecker = $servicesChecker;
$this->installation = $installation;
$this->captcha = $captcha;
$this->segmentSubscribersRepository = $segmentSubscribersRepository;
$this->segmentsListRepository = $segmentsListRepository;
}
public function render() {
@@ -72,7 +72,7 @@ class Settings {
$data = [
'settings' => $settings,
'segments' => $this->segmentSubscribersRepository->getSimpleSegmentListWithSubscribersCounts(SegmentEntity::TYPE_DEFAULT),
'segments' => $this->segmentsListRepository->getListWithSubscribedSubscribersCounts([SegmentEntity::TYPE_DEFAULT]),
'premium_key_valid' => !empty($premiumKeyValid),
'mss_key_valid' => !empty($mpApiKeyValid),
'pages' => Pages::getAll(),

View File

@@ -7,7 +7,7 @@ use MailPoet\Config\ServicesChecker;
use MailPoet\Form\Block;
use MailPoet\Listing\PageLimit;
use MailPoet\Models\CustomField;
use MailPoet\Segments\SegmentSubscribersRepository;
use MailPoet\Segments\SegmentsSimpleListRepository;
use MailPoet\Services\Bridge;
use MailPoet\Subscribers\ConfirmationEmailMailer;
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
@@ -33,8 +33,8 @@ class Subscribers {
/** @var ServicesChecker */
private $servicesChecker;
/** @var SegmentSubscribersRepository */
private $segmentSubscribersRepository;
/** @var SegmentsSimpleListRepository */
private $segmentsListRepository;
public function __construct(
PageRenderer $pageRenderer,
@@ -43,7 +43,7 @@ class Subscribers {
WPFunctions $wp,
ServicesChecker $servicesChecker,
Block\Date $dateBlock,
SegmentSubscribersRepository $segmentSubscribersRepository
SegmentsSimpleListRepository $segmentsListRepository
) {
$this->pageRenderer = $pageRenderer;
$this->listingPageLimit = $listingPageLimit;
@@ -51,14 +51,14 @@ class Subscribers {
$this->wp = $wp;
$this->dateBlock = $dateBlock;
$this->servicesChecker = $servicesChecker;
$this->segmentSubscribersRepository = $segmentSubscribersRepository;
$this->segmentsListRepository = $segmentsListRepository;
}
public function render() {
$data = [];
$data['items_per_page'] = $this->listingPageLimit->getLimitPerPage('subscribers');
$data['segments'] = $this->segmentSubscribersRepository->getSimpleSegmentListWithSubscribersCounts();
$data['segments'] = $this->segmentsListRepository->getListWithSubscribedSubscribersCounts();
$data['custom_fields'] = array_map(function($field) {
$field['params'] = unserialize($field['params']);