Use getCurrentWPUser from SubscribersRepository
[MAILPOET-3268]
This commit is contained in:
@ -7,6 +7,7 @@ use MailPoet\Models\SendingQueue;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Newsletter\Url as NewsletterUrl;
|
||||
use MailPoet\Subscribers\LinkTokens;
|
||||
use MailPoet\Subscribers\SubscribersRepository;
|
||||
|
||||
class ViewInBrowserController {
|
||||
/** @var LinkTokens */
|
||||
@ -15,12 +16,17 @@ class ViewInBrowserController {
|
||||
/** @var ViewInBrowserRenderer */
|
||||
private $viewInBrowserRenderer;
|
||||
|
||||
/** @var SubscribersRepository */
|
||||
private $subscribersRepository;
|
||||
|
||||
public function __construct(
|
||||
LinkTokens $linkTokens,
|
||||
ViewInBrowserRenderer $viewInBrowserRenderer
|
||||
ViewInBrowserRenderer $viewInBrowserRenderer,
|
||||
SubscribersRepository $subscribersRepository
|
||||
) {
|
||||
$this->linkTokens = $linkTokens;
|
||||
$this->viewInBrowserRenderer = $viewInBrowserRenderer;
|
||||
$this->subscribersRepository = $subscribersRepository;
|
||||
}
|
||||
|
||||
public function view(array $data) {
|
||||
@ -32,12 +38,12 @@ class ViewInBrowserController {
|
||||
// if this is a preview and subscriber does not exist,
|
||||
// attempt to set subscriber to the current logged-in WP user
|
||||
if (!$subscriber && $isPreview) {
|
||||
$subscriber = Subscriber::getCurrentWPUser() ?: null;
|
||||
$subscriber = $this->subscribersRepository->getCurrentWPUser();
|
||||
}
|
||||
|
||||
// if queue and subscriber exist, subscriber must have received the newsletter
|
||||
$queue = $this->getQueue($newsletter, $data);
|
||||
if (!$isPreview && $queue && $subscriber && !$queue->isSubscriberProcessed($subscriber->id)) {
|
||||
if (!$isPreview && $queue && $subscriber && !$queue->isSubscriberProcessed($subscriber->getId())) {
|
||||
throw new \InvalidArgumentException("Subscriber did not receive the newsletter yet");
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user