diff --git a/lib/AdminPages/Pages/RevenueTrackingPermission.php b/lib/AdminPages/Pages/RevenueTrackingPermission.php new file mode 100644 index 0000000000..af81d268b7 --- /dev/null +++ b/lib/AdminPages/Pages/RevenueTrackingPermission.php @@ -0,0 +1,42 @@ +page_renderer = $page_renderer; + $this->wp = $wp; + $this->features_controller = $features_controller; + } + + function render() { + if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) { + return; + } + if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return; + $data = [ + 'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG), + ]; + $this->page_renderer->displayPage('revenue_tracking_permission.html', $data); + } +} diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index 50b760fddd..81777e1766 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -8,11 +8,11 @@ use MailPoet\AdminPages\Pages\Help; use MailPoet\AdminPages\Pages\MP2Migration; use MailPoet\AdminPages\Pages\NewsletterEditor; use MailPoet\AdminPages\Pages\Newsletters; +use MailPoet\AdminPages\Pages\RevenueTrackingPermission; use MailPoet\AdminPages\Pages\Settings; use MailPoet\AdminPages\Pages\WelcomeWizard; use MailPoet\AdminPages\Pages\WooCommerceListImport; use MailPoet\DI\ContainerWrapper; -use MailPoet\Features\FeaturesController; use MailPoet\Form\Block; use MailPoet\Form\Renderer as FormRenderer; use MailPoet\Listing; @@ -44,9 +44,6 @@ class Menu { /** @var SettingsController */ private $settings; - /** @var FeaturesController */ - private $features_controller; - /** @var WPFunctions */ private $wp; /** @var ServicesChecker */ @@ -69,7 +66,6 @@ class Menu { function __construct( AccessControl $access_control, SettingsController $settings, - FeaturesController $featuresController, WPFunctions $wp, ServicesChecker $servicesChecker, PageRenderer $page_renderer, @@ -80,7 +76,6 @@ class Menu { $this->access_control = $access_control; $this->wp = $wp; $this->settings = $settings; - $this->features_controller = $featuresController; $this->servicesChecker = $servicesChecker; $this->page_renderer = $page_renderer; $this->listing_page_limit = $listing_page_limit; @@ -431,14 +426,7 @@ class Menu { } function revenueTrackingPermission() { - if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) { - return; - } - if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return; - $data = [ - 'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . self::MAIN_PAGE_SLUG), - ]; - $this->page_renderer->displayPage('revenue_tracking_permission.html', $data); + $this->container->get(RevenueTrackingPermission::class)->render(); } function update() { diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index 82ea93bdf3..48c0499b20 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -34,6 +34,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\AdminPages\Pages\NewsletterEditor::class); $container->autowire(\MailPoet\AdminPages\Pages\Newsletters::class); $container->autowire(\MailPoet\AdminPages\Pages\MP2Migration::class); + $container->autowire(\MailPoet\AdminPages\Pages\RevenueTrackingPermission::class); $container->autowire(\MailPoet\AdminPages\Pages\Settings::class); $container->autowire(\MailPoet\AdminPages\Pages\WelcomeWizard::class); $container->autowire(\MailPoet\AdminPages\Pages\WooCommerceListImport::class); diff --git a/tests/integration/Config/MenuTest.php b/tests/integration/Config/MenuTest.php index 859962dc9c..9d49ff8633 100644 --- a/tests/integration/Config/MenuTest.php +++ b/tests/integration/Config/MenuTest.php @@ -8,7 +8,6 @@ use MailPoet\Config\AccessControl; use MailPoet\Config\Menu; use MailPoet\Config\ServicesChecker; use MailPoet\DI\ContainerWrapper; -use MailPoet\Features\FeaturesController; use MailPoet\Listing\PageLimit; use MailPoet\Settings\SettingsController; use MailPoet\Util\Installation; @@ -94,7 +93,6 @@ class MenuTest extends \MailPoetTest { return new Menu( new AccessControl(), $settings, - new FeaturesController(), $wp, new ServicesChecker, $renderer,