51 \
Magento\Customer\Model\Session $customerSession,
54 \
Magento\Checkout\Helper\ExpressRedirect $expressRedirectHelper
57 $this->_customerSession = $customerSession;
60 $this->_expressRedirectHelper = $expressRedirectHelper;
71 if (!($this->_persistentSession->isPersistent() && !$this->_customerSession->isLoggedIn())) {
76 $controllerAction =
$observer->getEvent()->getControllerAction();
77 if (!$controllerAction ||
78 !$controllerAction instanceof \
Magento\Checkout\Controller\Express\RedirectLoginInterface ||
79 $controllerAction->getRedirectActionName() != $controllerAction->getRequest()->getActionName()
84 $this->messageManager->addNotice(
__(
'To check out, please sign in using your email address.'));
85 $customerBeforeAuthUrl = $this->_url->getUrl(
'persistent/index/expressCheckout');
87 $this->_expressRedirectHelper->redirectLogin($controllerAction, $customerBeforeAuthUrl);
__construct(\Magento\Persistent\Helper\Session $persistentSession, \Magento\Customer\Model\Session $customerSession, \Magento\Framework\UrlInterface $url, \Magento\Framework\Message\ManagerInterface $messageManager, \Magento\Checkout\Helper\ExpressRedirect $expressRedirectHelper)
execute(Observer $observer)