Remove feature flag for woocommerce revenues
[MAILPOET-1990]
This commit is contained in:
@ -8,7 +8,6 @@ use MailPoet\API\JSON\Error as APIError;
|
|||||||
use MailPoet\Config\AccessControl;
|
use MailPoet\Config\AccessControl;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterQueueTask;
|
use MailPoet\Cron\Workers\SendingQueue\Tasks\Newsletter as NewsletterQueueTask;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Listing;
|
use MailPoet\Listing;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\NewsletterOption;
|
use MailPoet\Models\NewsletterOption;
|
||||||
@ -45,9 +44,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var AuthorizedEmailsController */
|
/** @var AuthorizedEmailsController */
|
||||||
private $authorized_emails_controller;
|
private $authorized_emails_controller;
|
||||||
|
|
||||||
@ -61,7 +57,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
WCHelper $woocommerce_helper,
|
WCHelper $woocommerce_helper,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
FeaturesController $features_controller,
|
|
||||||
AuthorizedEmailsController $authorized_emails_controller
|
AuthorizedEmailsController $authorized_emails_controller
|
||||||
) {
|
) {
|
||||||
$this->bulk_action = $bulk_action;
|
$this->bulk_action = $bulk_action;
|
||||||
@ -69,7 +64,6 @@ class Newsletters extends APIEndpoint {
|
|||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->authorized_emails_controller = $authorized_emails_controller;
|
$this->authorized_emails_controller = $authorized_emails_controller;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,7 +100,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
->withOptions()
|
->withOptions()
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withTotalSent()
|
->withTotalSent()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
|
|
||||||
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
$preview_url = NewsletterUrl::getViewInBrowserUrl(
|
||||||
NewsletterUrl::TYPE_LISTING_EDITOR,
|
NewsletterUrl::TYPE_LISTING_EDITOR,
|
||||||
@ -483,13 +477,13 @@ class Newsletters extends APIEndpoint {
|
|||||||
$newsletter
|
$newsletter
|
||||||
->withSegments(true)
|
->withSegments(true)
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
} else if ($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
|
} else if ($newsletter->type === Newsletter::TYPE_WELCOME || $newsletter->type === Newsletter::TYPE_AUTOMATIC) {
|
||||||
$newsletter
|
$newsletter
|
||||||
->withOptions()
|
->withOptions()
|
||||||
->withTotalSent()
|
->withTotalSent()
|
||||||
->withScheduledToBeSent()
|
->withScheduledToBeSent()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
} else if ($newsletter->type === Newsletter::TYPE_NOTIFICATION) {
|
} else if ($newsletter->type === Newsletter::TYPE_NOTIFICATION) {
|
||||||
$newsletter
|
$newsletter
|
||||||
->withOptions()
|
->withOptions()
|
||||||
@ -499,7 +493,7 @@ class Newsletters extends APIEndpoint {
|
|||||||
$newsletter
|
$newsletter
|
||||||
->withSegments(true)
|
->withSegments(true)
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($newsletter->status === Newsletter::STATUS_SENT ||
|
if ($newsletter->status === Newsletter::STATUS_SENT ||
|
||||||
|
@ -4,7 +4,6 @@ namespace MailPoet\AdminPages\Pages;
|
|||||||
|
|
||||||
use MailPoet\AdminPages\PageRenderer;
|
use MailPoet\AdminPages\PageRenderer;
|
||||||
use MailPoet\Config\Menu;
|
use MailPoet\Config\Menu;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
if (!defined('ABSPATH')) exit;
|
if (!defined('ABSPATH')) exit;
|
||||||
@ -16,23 +15,15 @@ class RevenueTrackingPermission {
|
|||||||
/** @var WPFunctions */
|
/** @var WPFunctions */
|
||||||
private $wp;
|
private $wp;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
PageRenderer $page_renderer,
|
PageRenderer $page_renderer,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp
|
||||||
FeaturesController $features_controller
|
|
||||||
) {
|
) {
|
||||||
$this->page_renderer = $page_renderer;
|
$this->page_renderer = $page_renderer;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function render() {
|
function render() {
|
||||||
if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
|
if ((bool)(defined('DOING_AJAX') && DOING_AJAX)) return;
|
||||||
$data = [
|
$data = [
|
||||||
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),
|
'finish_wizard_url' => $this->wp->adminUrl('admin.php?page=' . Menu::MAIN_PAGE_SLUG),
|
||||||
|
@ -6,7 +6,6 @@ use MailPoet\AdminPages\PageRenderer;
|
|||||||
use MailPoet\Config\Installer;
|
use MailPoet\Config\Installer;
|
||||||
use MailPoet\Config\ServicesChecker;
|
use MailPoet\Config\ServicesChecker;
|
||||||
use MailPoet\Cron\CronTrigger;
|
use MailPoet\Cron\CronTrigger;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Services\Bridge;
|
use MailPoet\Services\Bridge;
|
||||||
@ -40,9 +39,6 @@ class Settings {
|
|||||||
/** @var Captcha */
|
/** @var Captcha */
|
||||||
private $captcha;
|
private $captcha;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var Installation */
|
/** @var Installation */
|
||||||
private $installation;
|
private $installation;
|
||||||
|
|
||||||
@ -52,7 +48,6 @@ class Settings {
|
|||||||
WooCommerceHelper $woocommerce_helper,
|
WooCommerceHelper $woocommerce_helper,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
ServicesChecker $services_checker,
|
ServicesChecker $services_checker,
|
||||||
FeaturesController $features_controller,
|
|
||||||
Installation $installation,
|
Installation $installation,
|
||||||
Captcha $captcha
|
Captcha $captcha
|
||||||
) {
|
) {
|
||||||
@ -61,7 +56,6 @@ class Settings {
|
|||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->services_checker = $services_checker;
|
$this->services_checker = $services_checker;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->installation = $installation;
|
$this->installation = $installation;
|
||||||
$this->captcha = $captcha;
|
$this->captcha = $captcha;
|
||||||
}
|
}
|
||||||
@ -89,7 +83,6 @@ class Settings {
|
|||||||
'current_user' => $this->wp->wpGetCurrentUser(),
|
'current_user' => $this->wp->wpGetCurrentUser(),
|
||||||
'linux_cron_path' => dirname(dirname(__DIR__)),
|
'linux_cron_path' => dirname(dirname(__DIR__)),
|
||||||
'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(),
|
'is_woocommerce_active' => $this->woocommerce_helper->isWooCommerceActive(),
|
||||||
'display_revenues' => $this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES),
|
|
||||||
'ABSPATH' => ABSPATH,
|
'ABSPATH' => ABSPATH,
|
||||||
'hosts' => [
|
'hosts' => [
|
||||||
'web' => Hosts::getWebHosts(),
|
'web' => Hosts::getWebHosts(),
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Config;
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Util\Url;
|
use MailPoet\Util\Url;
|
||||||
use MailPoet\WooCommerce\Helper;
|
use MailPoet\WooCommerce\Helper;
|
||||||
@ -21,21 +20,16 @@ class Changelog {
|
|||||||
/** @var Url */
|
/** @var Url */
|
||||||
private $url_helper;
|
private $url_helper;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
Helper $wooCommerceHelper,
|
Helper $wooCommerceHelper,
|
||||||
Url $url_helper,
|
Url $url_helper
|
||||||
FeaturesController $features_controller
|
|
||||||
) {
|
) {
|
||||||
$this->wooCommerceHelper = $wooCommerceHelper;
|
$this->wooCommerceHelper = $wooCommerceHelper;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->url_helper = $url_helper;
|
$this->url_helper = $url_helper;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
@ -69,10 +63,8 @@ class Changelog {
|
|||||||
$this->checkWelcomeWizard();
|
$this->checkWelcomeWizard();
|
||||||
}
|
}
|
||||||
$this->checkWooCommerceListImportPage();
|
$this->checkWooCommerceListImportPage();
|
||||||
if ($this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
|
|
||||||
$this->checkRevenueTrackingPermissionPage();
|
$this->checkRevenueTrackingPermissionPage();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private function checkMp2Migration($version) {
|
private function checkMp2Migration($version) {
|
||||||
$mp2_migrator = new MP2Migrator();
|
$mp2_migrator = new MP2Migrator();
|
||||||
|
@ -5,7 +5,6 @@ namespace MailPoet\Cron\Workers\StatsNotifications;
|
|||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Config\Renderer;
|
use MailPoet\Config\Renderer;
|
||||||
use MailPoet\Cron\CronHelper;
|
use MailPoet\Cron\CronHelper;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Mailer\Mailer;
|
use MailPoet\Mailer\Mailer;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\NewsletterLink;
|
use MailPoet\Models\NewsletterLink;
|
||||||
@ -33,9 +32,6 @@ class Worker {
|
|||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var WCHelper */
|
/** @var WCHelper */
|
||||||
private $woocommerce_helper;
|
private $woocommerce_helper;
|
||||||
|
|
||||||
@ -43,7 +39,6 @@ class Worker {
|
|||||||
Mailer $mailer,
|
Mailer $mailer,
|
||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
FeaturesController $features_controller,
|
|
||||||
WCHelper $woocommerce_helper,
|
WCHelper $woocommerce_helper,
|
||||||
$timer = false
|
$timer = false
|
||||||
) {
|
) {
|
||||||
@ -51,7 +46,6 @@ class Worker {
|
|||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,7 +103,7 @@ class Worker {
|
|||||||
return $newsletter
|
return $newsletter
|
||||||
->withSendingQueue()
|
->withSendingQueue()
|
||||||
->withTotalSent()
|
->withTotalSent()
|
||||||
->withStatistics($this->woocommerce_helper, $this->features_controller);
|
->withStatistics($this->woocommerce_helper);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace MailPoet\Cron\Workers;
|
namespace MailPoet\Cron\Workers;
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\ScheduledTask;
|
use MailPoet\Models\ScheduledTask;
|
||||||
use MailPoet\Models\StatisticsClicks;
|
use MailPoet\Models\StatisticsClicks;
|
||||||
use MailPoet\Statistics\Track\WooCommercePurchases;
|
use MailPoet\Statistics\Track\WooCommercePurchases;
|
||||||
@ -21,25 +20,17 @@ class WooCommerceOrders extends SimpleWorker {
|
|||||||
/** @var WooCommercePurchases */
|
/** @var WooCommercePurchases */
|
||||||
private $woocommerce_purchases;
|
private $woocommerce_purchases;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
WCHelper $woocommerce_helper,
|
WCHelper $woocommerce_helper,
|
||||||
WooCommercePurchases $woocommerce_purchases,
|
WooCommercePurchases $woocommerce_purchases,
|
||||||
FeaturesController $features_controller,
|
|
||||||
$timer = false
|
$timer = false
|
||||||
) {
|
) {
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
$this->woocommerce_purchases = $woocommerce_purchases;
|
$this->woocommerce_purchases = $woocommerce_purchases;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
parent::__construct($timer);
|
parent::__construct($timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkProcessingRequirements() {
|
function checkProcessingRequirements() {
|
||||||
if (!$this->features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return $this->woocommerce_helper->isWooCommerceActive() && empty(self::getCompletedTasks()); // run only once
|
return $this->woocommerce_helper->isWooCommerceActive() && empty(self::getCompletedTasks()); // run only once
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ use MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck as PremiumKeyCheckWorker;
|
|||||||
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker;
|
use MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck as SendingServiceKeyCheckWorker;
|
||||||
use MailPoet\Cron\Workers\WooCommerceSync as WooCommerceSyncWorker;
|
use MailPoet\Cron\Workers\WooCommerceSync as WooCommerceSyncWorker;
|
||||||
use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler;
|
use MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Segments\SubscribersFinder;
|
use MailPoet\Segments\SubscribersFinder;
|
||||||
use MailPoet\Segments\WooCommerce as WooCommerceSegment;
|
use MailPoet\Segments\WooCommerce as WooCommerceSegment;
|
||||||
use MailPoet\Services\AuthorizedEmailsController;
|
use MailPoet\Services\AuthorizedEmailsController;
|
||||||
@ -39,9 +38,6 @@ class WorkersFactory {
|
|||||||
/** @var SettingsController */
|
/** @var SettingsController */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var FeaturesController */
|
|
||||||
private $features_controller;
|
|
||||||
|
|
||||||
/** @var WooCommerceSegment */
|
/** @var WooCommerceSegment */
|
||||||
private $woocommerce_segment;
|
private $woocommerce_segment;
|
||||||
|
|
||||||
@ -71,7 +67,6 @@ class WorkersFactory {
|
|||||||
Mailer $mailer,
|
Mailer $mailer,
|
||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
FeaturesController $features_controller,
|
|
||||||
WooCommerceSegment $woocommerce_segment,
|
WooCommerceSegment $woocommerce_segment,
|
||||||
InactiveSubscribersController $inactive_subscribers_controller,
|
InactiveSubscribersController $inactive_subscribers_controller,
|
||||||
WooCommerceHelper $woocommerce_helper,
|
WooCommerceHelper $woocommerce_helper,
|
||||||
@ -84,7 +79,6 @@ class WorkersFactory {
|
|||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features_controller = $features_controller;
|
|
||||||
$this->woocommerce_segment = $woocommerce_segment;
|
$this->woocommerce_segment = $woocommerce_segment;
|
||||||
$this->inactive_subscribers_controller = $inactive_subscribers_controller;
|
$this->inactive_subscribers_controller = $inactive_subscribers_controller;
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
@ -105,7 +99,7 @@ class WorkersFactory {
|
|||||||
|
|
||||||
/** @return StatsNotificationsWorker */
|
/** @return StatsNotificationsWorker */
|
||||||
function createStatsNotificationsWorker($timer) {
|
function createStatsNotificationsWorker($timer) {
|
||||||
return new StatsNotificationsWorker($this->mailer, $this->renderer, $this->settings, $this->features_controller, $this->woocommerce_helper, $timer);
|
return new StatsNotificationsWorker($this->mailer, $this->renderer, $this->settings, $this->woocommerce_helper, $timer);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return StatsNotificationsWorkerForAutomatedEmails */
|
/** @return StatsNotificationsWorkerForAutomatedEmails */
|
||||||
@ -160,6 +154,6 @@ class WorkersFactory {
|
|||||||
|
|
||||||
/** @return WooCommerceOrders */
|
/** @return WooCommerceOrders */
|
||||||
function createWooCommerceOrdersWorker($timer) {
|
function createWooCommerceOrdersWorker($timer) {
|
||||||
return new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, $this->features_controller, $timer);
|
return new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, $timer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,12 +8,10 @@ class FeaturesController {
|
|||||||
|
|
||||||
// Define features below in the following form:
|
// Define features below in the following form:
|
||||||
// const FEATURE_NAME_OF_FEATURE = 'name-of-feature';
|
// const FEATURE_NAME_OF_FEATURE = 'name-of-feature';
|
||||||
const FEATURE_DISPLAY_WOOCOMMERCE_REVENUES = 'display-woocommerce-revenues'; // may also have 'display_revenues' setting
|
|
||||||
|
|
||||||
// Define feature defaults in the array below in the following form:
|
// Define feature defaults in the array below in the following form:
|
||||||
// self::FEATURE_NAME_OF_FEATURE => true,
|
// self::FEATURE_NAME_OF_FEATURE => true,
|
||||||
private $defaults = [
|
private $defaults = [
|
||||||
self::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES => false,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/** @var array */
|
/** @var array */
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace MailPoet\Models;
|
namespace MailPoet\Models;
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Newsletter\Renderer\Renderer;
|
use MailPoet\Newsletter\Renderer\Renderer;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Tasks\Sending as SendingTask;
|
use MailPoet\Tasks\Sending as SendingTask;
|
||||||
@ -560,8 +559,8 @@ class Newsletter extends Model {
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
function withStatistics(WCHelper $woocommerce_helper, FeaturesController $features_controller) {
|
function withStatistics(WCHelper $woocommerce_helper) {
|
||||||
$statistics = $this->getStatistics($woocommerce_helper, $features_controller);
|
$statistics = $this->getStatistics($woocommerce_helper);
|
||||||
$this->statistics = $statistics;
|
$this->statistics = $statistics;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
@ -571,7 +570,7 @@ class Newsletter extends Model {
|
|||||||
return $renderer->render();
|
return $renderer->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getStatistics(WCHelper $woocommerce_helper, FeaturesController $features_controller) {
|
function getStatistics(WCHelper $woocommerce_helper) {
|
||||||
if (($this->type !== self::TYPE_WELCOME) && ($this->queue === false)) {
|
if (($this->type !== self::TYPE_WELCOME) && ($this->queue === false)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -600,10 +599,7 @@ class Newsletter extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// WooCommerce revenues
|
// WooCommerce revenues
|
||||||
if (
|
if ($woocommerce_helper->isWooCommerceActive()) {
|
||||||
$features_controller->isSupported(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES)
|
|
||||||
&& $woocommerce_helper->isWooCommerceActive()
|
|
||||||
) {
|
|
||||||
$currency = $woocommerce_helper->getWoocommerceCurrency();
|
$currency = $woocommerce_helper->getWoocommerceCurrency();
|
||||||
$row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total')
|
$row = StatisticsWooCommercePurchases::selectExpr('SUM(order_price_total) AS total')
|
||||||
->selectExpr('count(*)', 'count')
|
->selectExpr('count(*)', 'count')
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
|
|
||||||
class FreePlanAnnouncementCest {
|
class FreePlanAnnouncementCest {
|
||||||
const NOTICE_SELECTOR = '[data-automation-id="free-plan-announcement"]';
|
const NOTICE_SELECTOR = '[data-automation-id="free-plan-announcement"]';
|
||||||
|
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Test\DataFactories\Features;
|
|
||||||
use MailPoet\Test\DataFactories\Newsletter;
|
use MailPoet\Test\DataFactories\Newsletter;
|
||||||
use MailPoet\Test\DataFactories\NewsletterLink;
|
use MailPoet\Test\DataFactories\NewsletterLink;
|
||||||
use MailPoet\Test\DataFactories\Settings;
|
use MailPoet\Test\DataFactories\Settings;
|
||||||
@ -17,17 +15,12 @@ class NewsletterStatisticsCest {
|
|||||||
/** @var Settings */
|
/** @var Settings */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var Features */
|
protected function _inject(Settings $settings) {
|
||||||
private $features;
|
|
||||||
|
|
||||||
protected function _inject(Settings $settings, Features $features) {
|
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features = $features;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _before(\AcceptanceTester $I) {
|
function _before(\AcceptanceTester $I) {
|
||||||
$I->activateWooCommerce();
|
$I->activateWooCommerce();
|
||||||
$this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES);
|
|
||||||
$this->settings->withWooCommerceListImportPageDisplayed(true);
|
$this->settings->withWooCommerceListImportPageDisplayed(true);
|
||||||
$this->settings->withCookieRevenueTrackingDisabled();
|
$this->settings->withCookieRevenueTrackingDisabled();
|
||||||
}
|
}
|
||||||
|
@ -3,12 +3,9 @@
|
|||||||
namespace MailPoet\Test\Acceptance;
|
namespace MailPoet\Test\Acceptance;
|
||||||
|
|
||||||
use Codeception\Util\Locator;
|
use Codeception\Util\Locator;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Test\DataFactories\Features;
|
|
||||||
use MailPoet\Test\DataFactories\Newsletter;
|
use MailPoet\Test\DataFactories\Newsletter;
|
||||||
use MailPoet\Test\DataFactories\Settings;
|
use MailPoet\Test\DataFactories\Settings;
|
||||||
|
|
||||||
require_once __DIR__ . '/../DataFactories/Features.php';
|
|
||||||
require_once __DIR__ . '/../DataFactories/Newsletter.php';
|
require_once __DIR__ . '/../DataFactories/Newsletter.php';
|
||||||
require_once __DIR__ . '/../DataFactories/Settings.php';
|
require_once __DIR__ . '/../DataFactories/Settings.php';
|
||||||
|
|
||||||
@ -17,17 +14,12 @@ class RevenueTrackingCookieCest {
|
|||||||
/** @var Settings */
|
/** @var Settings */
|
||||||
private $settings;
|
private $settings;
|
||||||
|
|
||||||
/** @var Features */
|
protected function _inject(Settings $settings) {
|
||||||
private $features;
|
|
||||||
|
|
||||||
protected function _inject(Settings $settings, Features $features) {
|
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->features = $features;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _before(\AcceptanceTester $I) {
|
function _before(\AcceptanceTester $I) {
|
||||||
$I->activateWooCommerce();
|
$I->activateWooCommerce();
|
||||||
$this->features->withFeatureEnabled(FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function _after(\AcceptanceTester $I) {
|
function _after(\AcceptanceTester $I) {
|
||||||
|
@ -8,7 +8,6 @@ use Codeception\Util\Fixtures;
|
|||||||
use Codeception\Util\Stub;
|
use Codeception\Util\Stub;
|
||||||
use Helper\WordPressHooks as WPHooksHelper;
|
use Helper\WordPressHooks as WPHooksHelper;
|
||||||
use MailPoet\API\JSON\Response as APIResponse;
|
use MailPoet\API\JSON\Response as APIResponse;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Listing\BulkActionController;
|
use MailPoet\Listing\BulkActionController;
|
||||||
use MailPoet\Listing\Handler;
|
use MailPoet\Listing\Handler;
|
||||||
use MailPoet\API\JSON\v1\Newsletters;
|
use MailPoet\API\JSON\v1\Newsletters;
|
||||||
@ -127,7 +126,6 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
$wp,
|
$wp,
|
||||||
$this->makeEmpty(WCHelper::class),
|
$this->makeEmpty(WCHelper::class),
|
||||||
new SettingsController(),
|
new SettingsController(),
|
||||||
new FeaturesController(),
|
|
||||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
||||||
);
|
);
|
||||||
$response = $this->endpoint->get(['id' => $this->newsletter->id]);
|
$response = $this->endpoint->get(['id' => $this->newsletter->id]);
|
||||||
@ -168,7 +166,6 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
$wp,
|
$wp,
|
||||||
$this->makeEmpty(WCHelper::class),
|
$this->makeEmpty(WCHelper::class),
|
||||||
new SettingsController(),
|
new SettingsController(),
|
||||||
new FeaturesController(),
|
|
||||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()])
|
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::once()])
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -536,7 +533,6 @@ class NewslettersTest extends \MailPoetTest {
|
|||||||
$wp,
|
$wp,
|
||||||
$this->makeEmpty(WCHelper::class),
|
$this->makeEmpty(WCHelper::class),
|
||||||
new SettingsController(),
|
new SettingsController(),
|
||||||
new FeaturesController(),
|
|
||||||
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
$this->make(AuthorizedEmailsController::class, ['onNewsletterUpdate' => Expected::never()])
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3,7 +3,6 @@
|
|||||||
namespace MailPoet\Cron\Workers\StatsNotifications;
|
namespace MailPoet\Cron\Workers\StatsNotifications;
|
||||||
|
|
||||||
use MailPoet\Config\Renderer;
|
use MailPoet\Config\Renderer;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Mailer\Mailer;
|
use MailPoet\Mailer\Mailer;
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\NewsletterLink;
|
use MailPoet\Models\NewsletterLink;
|
||||||
@ -46,7 +45,7 @@ class WorkerTest extends \MailPoetTest {
|
|||||||
$this->mailer = $this->createMock(Mailer::class);
|
$this->mailer = $this->createMock(Mailer::class);
|
||||||
$this->renderer = $this->createMock(Renderer::class);
|
$this->renderer = $this->createMock(Renderer::class);
|
||||||
$this->settings = new SettingsController();
|
$this->settings = new SettingsController();
|
||||||
$this->stats_notifications = new Worker($this->mailer, $this->renderer, $this->settings, new FeaturesController(), $this->makeEmpty(WCHelper::class));
|
$this->stats_notifications = new Worker($this->mailer, $this->renderer, $this->settings, $this->makeEmpty(WCHelper::class));
|
||||||
$this->settings->set(Worker::SETTINGS_KEY, [
|
$this->settings->set(Worker::SETTINGS_KEY, [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
'address' => 'email@example.com',
|
'address' => 'email@example.com',
|
||||||
|
@ -4,8 +4,6 @@ namespace MailPoet\Test\Cron\Workers;
|
|||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
use MailPoet\Cron\Workers\WooCommerceOrders;
|
use MailPoet\Cron\Workers\WooCommerceOrders;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\FeatureFlag;
|
|
||||||
use MailPoet\Models\ScheduledTask;
|
use MailPoet\Models\ScheduledTask;
|
||||||
use MailPoet\Models\StatisticsClicks;
|
use MailPoet\Models\StatisticsClicks;
|
||||||
use MailPoet\Statistics\Track\WooCommercePurchases;
|
use MailPoet\Statistics\Track\WooCommercePurchases;
|
||||||
@ -26,11 +24,7 @@ class WooCommerceOrdersTest extends \MailPoetTest {
|
|||||||
$this->woocommerce_helper = $this->createMock(WooCommerceHelper::class);
|
$this->woocommerce_helper = $this->createMock(WooCommerceHelper::class);
|
||||||
$this->woocommerce_purchases = $this->createMock(WooCommercePurchases::class);
|
$this->woocommerce_purchases = $this->createMock(WooCommercePurchases::class);
|
||||||
|
|
||||||
FeatureFlag::createOrUpdate([
|
$this->worker = new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, microtime(true));
|
||||||
'name' => FeaturesController::FEATURE_DISPLAY_WOOCOMMERCE_REVENUES,
|
|
||||||
'value' => true,
|
|
||||||
]);
|
|
||||||
$this->worker = new WooCommerceOrders($this->woocommerce_helper, $this->woocommerce_purchases, new FeaturesController(), microtime(true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function testItDoesNotRunIfWooCommerceIsDisabled() {
|
function testItDoesNotRunIfWooCommerceIsDisabled() {
|
||||||
@ -146,7 +140,6 @@ class WooCommerceOrdersTest extends \MailPoetTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private function cleanup() {
|
private function cleanup() {
|
||||||
\ORM::raw_execute('TRUNCATE ' . FeatureFlag::$_table);
|
|
||||||
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
\ORM::raw_execute('TRUNCATE ' . ScheduledTask::$_table);
|
||||||
\ORM::raw_execute('TRUNCATE ' . StatisticsClicks::$_table);
|
\ORM::raw_execute('TRUNCATE ' . StatisticsClicks::$_table);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
namespace MailPoet\Test\Models;
|
namespace MailPoet\Test\Models;
|
||||||
|
|
||||||
use Carbon\Carbon;
|
use Carbon\Carbon;
|
||||||
use MailPoet\Features\FeaturesController;
|
|
||||||
use MailPoet\Models\Newsletter;
|
use MailPoet\Models\Newsletter;
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
@ -171,7 +170,7 @@ class NewsletterTest extends \MailPoetTest {
|
|||||||
$unsubscribes->save();
|
$unsubscribes->save();
|
||||||
|
|
||||||
$newsletter->queue = $newsletter->getQueue()->asArray();
|
$newsletter->queue = $newsletter->getQueue()->asArray();
|
||||||
$statistics = $newsletter->getStatistics($this->makeEmpty(WCHelper::class), new FeaturesController());
|
$statistics = $newsletter->getStatistics($this->makeEmpty(WCHelper::class));
|
||||||
expect($statistics['opened'])->equals(1);
|
expect($statistics['opened'])->equals(1);
|
||||||
expect($statistics['clicked'])->equals(1);
|
expect($statistics['clicked'])->equals(1);
|
||||||
expect($statistics['unsubscribed'])->equals(1);
|
expect($statistics['unsubscribed'])->equals(1);
|
||||||
|
@ -80,7 +80,6 @@
|
|||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% if display_revenues %>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="row">
|
<th scope="row">
|
||||||
<label for="settings[mailpoet_accept_cookie_revenue_tracking]">
|
<label for="settings[mailpoet_accept_cookie_revenue_tracking]">
|
||||||
@ -108,5 +107,4 @@
|
|||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% endif %>
|
|
||||||
</table>
|
</table>
|
||||||
|
Reference in New Issue
Block a user