Add scheduling cache recalculation for admins

[MAILPOET-3646]
This commit is contained in:
Jan Lysý
2021-07-01 15:26:39 +02:00
committed by Veljko V
parent 77c00014ca
commit fabebcbea6

View File

@@ -3,6 +3,7 @@
namespace MailPoet\AdminPages;
use MailPoet\Config\Renderer;
use MailPoet\Cron\Workers\SubscribersCountCacheRecalculation;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Features\FeaturesController;
use MailPoet\Referrals\ReferralDetector;
@@ -29,18 +30,23 @@ class PageRenderer {
/** @var SegmentsRepository */
private $segmentRepository;
/** @var SubscribersCountCacheRecalculation */
private $subscribersCountCacheRecalculation;
public function __construct(
Renderer $renderer,
FeaturesController $featuresController,
SettingsController $settings,
UserFlagsController $userFlags,
SegmentsRepository $segmentRepository
SegmentsRepository $segmentRepository,
SubscribersCountCacheRecalculation $subscribersCountCacheRecalculation
) {
$this->renderer = $renderer;
$this->featuresController = $featuresController;
$this->settings = $settings;
$this->userFlags = $userFlags;
$this->segmentRepository = $segmentRepository;
$this->subscribersCountCacheRecalculation = $subscribersCountCacheRecalculation;
}
/**
@@ -70,6 +76,9 @@ class PageRenderer {
) {
DIPanel::init();
}
if (is_admin() && $this->subscribersCountCacheRecalculation->shouldBeScheduled()) {
$this->subscribersCountCacheRecalculation->schedule();
}
echo $this->renderer->render($template, $data + $defaults);
} catch (\Exception $e) {
$notice = new WPNotice(WPNotice::TYPE_ERROR, $e->getMessage());