Skip to content

Commit 76a923a

Browse files
committed
MAGETWO-53150: If set custom value to Persistence Lifetime (seconds) persistent isn't applied on frontend
1 parent e62f1f3 commit 76a923a

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

app/code/Magento/Persistent/Model/Session.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,4 +410,15 @@ private function getRequest()
410410
}
411411
return $this->request;
412412
}
413+
414+
/**
415+
* Set `updated_at` to be always changed
416+
*
417+
* @return $this
418+
*/
419+
public function save()
420+
{
421+
$this->setUpdatedAt(gmdate('Y-m-d H:i:s'));
422+
return parent::save();
423+
}
413424
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public function execute(Observer $observer)
7070

7171
// Quote Id could be changed only by logged in customer
7272
if ($this->_customerSession->isLoggedIn() ||
73-
$request && $request->getActionName() == 'logout' && $request->getControllerName() == 'account'
73+
$request && $request->getFullActionName() == 'customer_account_logout'
7474
) {
7575
$sessionModel->save();
7676
}

app/code/Magento/Persistent/Test/Unit/Observer/SynchronizePersistentInfoObserverTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,10 @@ public function testSynchronizePersistentInfoWhenPersistentDataIsEnabled()
8989
->method('getRequest')
9090
->will($this->returnValue($this->requestMock));
9191
$this->customerSessionMock->expects($this->once())->method('isLoggedIn')->will($this->returnValue(false));
92-
$this->requestMock->expects($this->once())->method('getActionName')->will($this->returnValue('logout'));
93-
$this->requestMock->expects($this->once())->method('getControllerName')->will($this->returnValue('account'));
92+
$this->requestMock
93+
->expects($this->once())
94+
->method('getFullActionName')
95+
->will($this->returnValue('customer_account_logout'));
9496
$this->sessionMock->expects($this->once())->method('save');
9597
$this->model->execute($this->observerMock);
9698
}

app/code/Magento/Persistent/etc/frontend/events.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
<observer name="persistent" instance="Magento\Persistent\Observer\ApplyPersistentDataObserver" />
3030
</event>
3131
<event name="controller_action_predispatch">
32+
<observer name="persistent_synchronize" instance="Magento\Persistent\Observer\SynchronizePersistentInfoObserver" />
3233
<observer name="persistent" instance="Magento\Persistent\Observer\EmulateQuoteObserver" />
3334
<observer name="persistent_session" instance="Magento\Persistent\Observer\RenewCookieObserver" />
3435
<observer name="persistent_quote" instance="Magento\Persistent\Observer\CheckExpirePersistentQuoteObserver" />

0 commit comments

Comments
 (0)