Add scheduling cache recalculation for admins
[MAILPOET-3646]
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
namespace MailPoet\AdminPages;
|
namespace MailPoet\AdminPages;
|
||||||
|
|
||||||
use MailPoet\Config\Renderer;
|
use MailPoet\Config\Renderer;
|
||||||
|
use MailPoet\Cron\Workers\SubscribersCountCacheRecalculation;
|
||||||
use MailPoet\Entities\SegmentEntity;
|
use MailPoet\Entities\SegmentEntity;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\Referrals\ReferralDetector;
|
use MailPoet\Referrals\ReferralDetector;
|
||||||
@@ -29,18 +30,23 @@ class PageRenderer {
|
|||||||
/** @var SegmentsRepository */
|
/** @var SegmentsRepository */
|
||||||
private $segmentRepository;
|
private $segmentRepository;
|
||||||
|
|
||||||
|
/** @var SubscribersCountCacheRecalculation */
|
||||||
|
private $subscribersCountCacheRecalculation;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
FeaturesController $featuresController,
|
FeaturesController $featuresController,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
UserFlagsController $userFlags,
|
UserFlagsController $userFlags,
|
||||||
SegmentsRepository $segmentRepository
|
SegmentsRepository $segmentRepository,
|
||||||
|
SubscribersCountCacheRecalculation $subscribersCountCacheRecalculation
|
||||||
) {
|
) {
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->featuresController = $featuresController;
|
$this->featuresController = $featuresController;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->userFlags = $userFlags;
|
$this->userFlags = $userFlags;
|
||||||
$this->segmentRepository = $segmentRepository;
|
$this->segmentRepository = $segmentRepository;
|
||||||
|
$this->subscribersCountCacheRecalculation = $subscribersCountCacheRecalculation;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -70,6 +76,9 @@ class PageRenderer {
|
|||||||
) {
|
) {
|
||||||
DIPanel::init();
|
DIPanel::init();
|
||||||
}
|
}
|
||||||
|
if (is_admin() && $this->subscribersCountCacheRecalculation->shouldBeScheduled()) {
|
||||||
|
$this->subscribersCountCacheRecalculation->schedule();
|
||||||
|
}
|
||||||
echo $this->renderer->render($template, $data + $defaults);
|
echo $this->renderer->render($template, $data + $defaults);
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$notice = new WPNotice(WPNotice::TYPE_ERROR, $e->getMessage());
|
$notice = new WPNotice(WPNotice::TYPE_ERROR, $e->getMessage());
|
||||||
|
Reference in New Issue
Block a user