Skip to content

Commit 9138013

Browse files
committed
MAGETWO-90053: Refreshing page deletes shipping address on guest checkout if module-persistent is enabled
1 parent 08c6266 commit 9138013

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

app/code/Magento/Persistent/Observer/CheckExpirePersistentQuoteObserver.php

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
namespace Magento\Persistent\Observer;
1111

1212
use Magento\Framework\Event\ObserverInterface;
13-
use Magento\Framework\App\ObjectManager;
1413

1514
class CheckExpirePersistentQuoteObserver implements ObserverInterface
1615
{
@@ -75,7 +74,7 @@ class CheckExpirePersistentQuoteObserver implements ObserverInterface
7574
* @param \Magento\Framework\Event\ManagerInterface $eventManager
7675
* @param \Magento\Customer\Model\Session $customerSession
7776
* @param \Magento\Checkout\Model\Session $checkoutSession
78-
* @param \Magento\Framework\App\RequestInterface $request|null
77+
* @param \Magento\Framework\App\RequestInterface $request
7978
*/
8079
public function __construct(
8180
\Magento\Persistent\Helper\Session $persistentSession,
@@ -84,15 +83,15 @@ public function __construct(
8483
\Magento\Framework\Event\ManagerInterface $eventManager,
8584
\Magento\Customer\Model\Session $customerSession,
8685
\Magento\Checkout\Model\Session $checkoutSession,
87-
\Magento\Framework\App\RequestInterface $request = null
86+
\Magento\Framework\App\RequestInterface $request
8887
) {
8988
$this->_persistentSession = $persistentSession;
9089
$this->quoteManager = $quoteManager;
9190
$this->_customerSession = $customerSession;
9291
$this->_checkoutSession = $checkoutSession;
9392
$this->_eventManager = $eventManager;
9493
$this->_persistentData = $persistentData;
95-
$this->request = $request ?: ObjectManager::getInstance()->get(\Magento\Framework\App\RequestInterface::class);
94+
$this->request = $request;
9695
}
9796

9897
/**
@@ -111,7 +110,7 @@ public function execute(\Magento\Framework\Event\Observer $observer)
111110
!$this->_persistentSession->isPersistent() &&
112111
!$this->_customerSession->isLoggedIn() &&
113112
$this->_checkoutSession->getQuoteId() &&
114-
!$this->checkIsRequestFromCheckoutPage($this->request)
113+
!$this->isRequestFromCheckoutPage($this->request)
115114
// persistent session does not expire on onepage checkout page
116115
) {
117116
$this->_eventManager->dispatch('persistent_session_expired');
@@ -126,19 +125,16 @@ public function execute(\Magento\Framework\Event\Observer $observer)
126125
* @param \Magento\Framework\App\RequestInterface $request
127126
* @return bool
128127
*/
129-
private function checkIsRequestFromCheckoutPage(\Magento\Framework\App\RequestInterface $request): bool
128+
private function isRequestFromCheckoutPage(\Magento\Framework\App\RequestInterface $request): bool
130129
{
131-
/** @var bool $isCheckoutPage */
132-
$isCheckoutPage = false;
133-
134130
$requestUri = $request->getRequestUri();
135131
$refererUri = $request->getServer('HTTP_REFERER');
136132

137-
if (false !== strpos($requestUri, $this->checkoutPagePath) ||
133+
/** @var bool $isCheckoutPage */
134+
$isCheckoutPage = (
135+
false !== strpos($requestUri, $this->checkoutPagePath) ||
138136
false !== strpos($refererUri, $this->checkoutPagePath)
139-
) {
140-
$isCheckoutPage = true;
141-
}
137+
);
142138

143139
return $isCheckoutPage;
144140
}

0 commit comments

Comments
 (0)