Skip to content

Commit 498681c

Browse files
committed
Fix redirecting to cart for some multi-store sites
1 parent 2e11d85 commit 498681c

File tree

4 files changed

+37
-17
lines changed

4 files changed

+37
-17
lines changed

Helper/Data.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,29 @@
99

1010
use Magento\Framework\App\Helper\AbstractHelper;
1111
use Magento\Framework\App\Helper\Context;
12+
use Magento\Framework\Stdlib\DateTime\DateTime;
1213
use Magento\Store\Model\ScopeInterface;
1314
use MagePal\PreviewCheckoutSuccessPage\Model\Config\Backend\ValidFor;
1415

1516
class Data extends AbstractHelper
1617
{
1718
const XML_PATH_ACTIVE = 'magepal_checkout/preview_success_page/active';
19+
/**
20+
* @var DateTime
21+
*/
22+
private $dateTime;
23+
24+
/**
25+
* @param Context $context
26+
* @param DateTime $dateTime
27+
*/
28+
public function __construct(
29+
Context $context,
30+
DateTime $dateTime
31+
) {
32+
parent::__construct($context);
33+
$this->dateTime = $dateTime;
34+
}
1835

1936
/**
2037
* Whether is active
@@ -83,4 +100,12 @@ public function getModifyTimestamp()
83100
ScopeInterface::SCOPE_STORE
84101
);
85102
}
103+
104+
/**
105+
* @return false|int
106+
*/
107+
public function getTimeStamp()
108+
{
109+
return strtotime($this->dateTime->gmtDate());
110+
}
86111
}

Model/Config/Backend/ModifyTimestamp.php

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
use Magento\Framework\Model\ResourceModel\AbstractResource;
1515
use Magento\Framework\Registry;
1616
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
17+
use MagePal\PreviewCheckoutSuccessPage\Helper\Data;
1718

1819
class ModifyTimestamp extends Value
1920
{
20-
2121
/**
22-
* @var TimezoneInterface
22+
* @var Data
2323
*/
24-
private $localeDate;
24+
private $dataHelper;
2525

2626
/**
2727
* Serialized constructor
@@ -32,20 +32,20 @@ class ModifyTimestamp extends Value
3232
* @param TypeListInterface $cacheTypeList
3333
* @param AbstractResource|null $resource
3434
* @param AbstractDb|null $resourceCollection
35+
* @param Data $dataHelper
3536
* @param array $data
36-
* @param TimezoneInterface $localeDate
3737
*/
3838
public function __construct(
3939
Context $context,
4040
Registry $registry,
4141
ScopeConfigInterface $config,
4242
TypeListInterface $cacheTypeList,
43-
TimezoneInterface $localeDate,
4443
AbstractResource $resource = null,
4544
AbstractDb $resourceCollection = null,
45+
Data $dataHelper,
4646
array $data = []
4747
) {
48-
$this->localeDate = $localeDate;
48+
$this->dataHelper = $dataHelper;
4949
parent::__construct($context, $registry, $config, $cacheTypeList, $resource, $resourceCollection, $data);
5050
}
5151

@@ -54,9 +54,7 @@ public function __construct(
5454
*/
5555
public function beforeSave()
5656
{
57-
$this->setValue($this->localeDate->scopeTimeStamp(ScopeConfigInterface::SCOPE_TYPE_DEFAULT));
58-
59-
parent::beforeSave();
60-
return $this;
57+
$this->setValue($this->dataHelper->getTimeStamp());
58+
return parent::beforeSave();
6159
}
6260
}

Plugin/Model/Session/SuccessValidatorPlugin.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,17 @@ class SuccessValidatorPlugin
4444
* @param RequestInterface $request
4545
* @param Session $checkoutSession
4646
* @param CollectionFactory $orderCollectionFactory
47-
* @param TimezoneInterface $localeDate
4847
*/
4948
public function __construct(
5049
Data $dataHelper,
5150
RequestInterface $request,
5251
Session $checkoutSession,
53-
CollectionFactory $orderCollectionFactory,
54-
TimezoneInterface $localeDate
52+
CollectionFactory $orderCollectionFactory
5553
) {
5654
$this->dataHelper = $dataHelper;
5755
$this->request = $request;
5856
$this->checkoutSession = $checkoutSession;
5957
$this->orderCollectionFactory = $orderCollectionFactory;
60-
$this->localeDate = $localeDate;
6158
}
6259

6360
/**
@@ -106,11 +103,11 @@ public function getOrderByIncrementId($increment_id)
106103
protected function isValidAccessCode()
107104
{
108105
$accessCode = $this->request->getParam('previewAccessCode', null);
106+
$validUntil = $this->dataHelper->getModifyTimestamp() + 60 * $this->dataHelper->getValidFor();
109107

110108
if ($accessCode
111109
&& $accessCode === $this->dataHelper->getAccessCode()
112-
&& ($this->dataHelper->getModifyTimestamp() + 60 * $this->dataHelper->getValidFor())
113-
> $this->localeDate->scopeTimeStamp(ScopeConfigInterface::SCOPE_TYPE_DEFAULT)
110+
&& $validUntil > $this->dataHelper->getTimeStamp()
114111
) {
115112
return true;
116113
}

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"magepal/magento2-checkout-success-misc-script":"Add miscellaneous HTML and scripts to your checkout success page"
4242
},
4343
"type": "magento2-module",
44-
"version": "1.0.12",
44+
"version": "1.1.0",
4545
"autoload": {
4646
"files": [
4747
"registration.php"

0 commit comments

Comments
 (0)