diff --git a/lib/Config/Changelog.php b/lib/Config/Changelog.php index fda7271bd8..b0ce560649 100644 --- a/lib/Config/Changelog.php +++ b/lib/Config/Changelog.php @@ -2,6 +2,7 @@ namespace MailPoet\Config; +use MailPoet\Features\FeaturesController; use MailPoet\Settings\SettingsController; use MailPoet\Util\Url; use MailPoet\WooCommerce\Helper; @@ -20,16 +21,21 @@ class Changelog { /** @var Url */ private $url_helper; + /** @var FeaturesController */ + private $features_controller; + function __construct( SettingsController $settings, WPFunctions $wp, Helper $wooCommerceHelper, - Url $url_helper + Url $url_helper, + FeaturesController $features_controller ) { $this->wooCommerceHelper = $wooCommerceHelper; $this->settings = $settings; $this->wp = $wp; $this->url_helper = $url_helper; + $this->features_controller = $features_controller; } function init() { @@ -63,7 +69,7 @@ class Changelog { $this->checkWelcomeWizard(); } $this->checkWooCommerceListImportPage(); - if ($this->settings->get('display_revenues')) { + if ($this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) { $this->checkRevenueTrackingPermissionPage(); } } diff --git a/lib/Config/Menu.php b/lib/Config/Menu.php index 274275aef9..022f13ab7e 100644 --- a/lib/Config/Menu.php +++ b/lib/Config/Menu.php @@ -367,10 +367,10 @@ class Menu { $this->wp->__('Track WooCommerce revenues with cookies', 'mailpoet'), AccessControl::PERMISSION_ACCESS_PLUGIN_ADMIN, 'mailpoet-revenue-tracking-permission', - array( + [ $this, - 'revenueTrackingPermission' - ) + 'revenueTrackingPermission', + ] ); // Update page @@ -446,7 +446,7 @@ class Menu { } function revenueTrackingPermission() { - if (!$this->settings->get('display_revenues')) { + if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) { return; } if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return; @@ -533,6 +533,7 @@ class Menu { 'current_user' => $this->wp->wpGetCurrentUser(), 'linux_cron_path' => dirname(dirname(__DIR__)), 'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(), + 'display_revenues' => $this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES), 'ABSPATH' => ABSPATH, 'hosts' => [ 'web' => Hosts::getWebHosts(), diff --git a/tests/acceptance/RevenueTrackingCookieCest.php b/tests/acceptance/RevenueTrackingCookieCest.php index 5fb9fcf6a1..a9fe0f875e 100644 --- a/tests/acceptance/RevenueTrackingCookieCest.php +++ b/tests/acceptance/RevenueTrackingCookieCest.php @@ -3,9 +3,12 @@ namespace MailPoet\Test\Acceptance; use Codeception\Util\Locator; +use MailPoet\Features\FeaturesController; +use MailPoet\Test\DataFactories\Features; use MailPoet\Test\DataFactories\Newsletter; use MailPoet\Test\DataFactories\Settings; +require_once __DIR__ . '/../DataFactories/Features.php'; require_once __DIR__ . '/../DataFactories/Newsletter.php'; require_once __DIR__ . '/../DataFactories/Settings.php'; @@ -14,13 +17,17 @@ class RevenueTrackingCookieCest { /** @var Settings */ private $settings; - protected function _inject(Settings $settings) { + /** @var Features */ + private $features; + + protected function _inject(Settings $settings, Features $features) { $this->settings = $settings; + $this->features = $features; } function _before(\AcceptanceTester $I) { $I->activateWooCommerce(); - $this->settings->withDisplayRevenuesEnabled(); + $this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES); } function _after(\AcceptanceTester $I) { diff --git a/views/settings/woocommerce.html b/views/settings/woocommerce.html index da34a10401..51ba958f95 100644 --- a/views/settings/woocommerce.html +++ b/views/settings/woocommerce.html @@ -80,7 +80,7 @@
- <% if settings.display_revenues %> + <% if display_revenues %>