Skip to content

Commit 86b8700

Browse files
author
Yushkin, Dmytro
committed
Merge branch 'folks-bugfix' into MAGETWO-45269
2 parents bc041f5 + 4fc092c commit 86b8700

File tree

7 files changed

+86
-111
lines changed

7 files changed

+86
-111
lines changed
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Persistent\Model\Checkout;
7+
8+
use Magento\Persistent\Helper\Session as PersistentSession;
9+
use Magento\Persistent\Helper\Data as PersistentHelper;
10+
use Magento\Checkout\Model\Session as CheckoutSession;
11+
use Magento\Quote\Model\QuoteIdMaskFactory;
12+
use Magento\Customer\Model\Session as CustomerSession;
13+
14+
class ConfigProviderPlugin
15+
{
16+
/**
17+
* @var PersistentSession
18+
*/
19+
private $persistentSession;
20+
21+
/**
22+
* @var PersistentHelper
23+
*/
24+
private $persistentHelper;
25+
26+
/**
27+
* @var CheckoutSession
28+
*/
29+
private $checkoutSession;
30+
31+
/**
32+
* @var QuoteIdMaskFactory
33+
*/
34+
private $quoteIdMaskFactory;
35+
36+
/**
37+
* @var CustomerSession
38+
*/
39+
private $customerSession;
40+
41+
/**
42+
* @param PersistentHelper $persistentHelper
43+
* @param PersistentSession $persistentSession
44+
* @param CheckoutSession $checkoutSession
45+
* @param QuoteIdMaskFactory $quoteIdMaskFactory
46+
* @param CustomerSession $customerSession
47+
*/
48+
public function __construct(
49+
PersistentHelper $persistentHelper,
50+
PersistentSession $persistentSession,
51+
CheckoutSession $checkoutSession,
52+
QuoteIdMaskFactory $quoteIdMaskFactory,
53+
CustomerSession $customerSession
54+
) {
55+
$this->persistentHelper = $persistentHelper;
56+
$this->persistentSession = $persistentSession;
57+
$this->checkoutSession = $checkoutSession;
58+
$this->quoteIdMaskFactory = $quoteIdMaskFactory;
59+
$this->customerSession = $customerSession;
60+
}
61+
62+
/**
63+
* @param \Magento\Checkout\Model\DefaultConfigProvider $subject
64+
* @param array $result
65+
* @return array
66+
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
67+
*/
68+
public function afterGetConfig(\Magento\Checkout\Model\DefaultConfigProvider $subject, array $result)
69+
{
70+
if ($this->persistentHelper->isEnabled()
71+
&& $this->persistentSession->isPersistent()
72+
&& !$this->customerSession->isLoggedIn()
73+
) {
74+
/** @var $quoteIdMask \Magento\Quote\Model\QuoteIdMask */
75+
$quoteIdMask = $this->quoteIdMaskFactory->create();
76+
$result['quoteData']['entity_id'] = $quoteIdMask->load(
77+
$this->checkoutSession->getQuote()->getId(),
78+
'quote_id'
79+
)->getMaskedId();
80+
}
81+
return $result;
82+
}
83+
}

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

Lines changed: 0 additions & 40 deletions
This file was deleted.

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

Lines changed: 0 additions & 62 deletions
This file was deleted.

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,7 @@
2929
<type name="Magento\Quote\Model\AddressAdditionalDataProcessor">
3030
<plugin name="persistent_remember_me_checkbox_processor" type="Magento\Persistent\Model\Checkout\AddressDataProcessorPlugin" />
3131
</type>
32+
<type name="Magento\Checkout\Model\DefaultConfigProvider">
33+
<plugin name="mask_quote_id_substitutor" type="Magento\Persistent\Model\Checkout\ConfigProviderPlugin" />
34+
</type>
3235
</config>

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@
3838
<observer name="persistent_customer" instance="Magento\Persistent\Observer\EmulateCustomerObserver" />
3939
<observer name="persistent_checkout" instance="Magento\Persistent\Observer\PreventExpressCheckoutObserver" />
4040
</event>
41-
<event name="checkout_allow_guest">
42-
<observer name="persistent" instance="Magento\Persistent\Observer\DisableGuestCheckoutObserver" />
43-
</event>
4441
<event name="customer_customer_authenticated">
4542
<observer name="persistent" instance="Magento\Persistent\Observer\CustomerAuthenticatedEventObserver" />
4643
</event>

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
<event name="layout_generate_blocks_after">
1616
<observer name="persistent" instance="Magento\Persistent\Observer\ApplyPersistentDataObserver" />
1717
</event>
18-
<event name="checkout_allow_guest">
19-
<observer name="persistent" instance="Magento\Persistent\Observer\DisableGuestCheckoutObserver" />
20-
</event>
2118
<event name="customer_customer_authenticated">
2219
<observer name="persistent" instance="Magento\Persistent\Observer\CustomerAuthenticatedEventObserver" />
2320
</event>

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@
1515
<event name="layout_generate_blocks_after">
1616
<observer name="persistent" instance="Magento\Persistent\Observer\ApplyPersistentDataObserver" />
1717
</event>
18-
<event name="checkout_allow_guest">
19-
<observer name="persistent" instance="Magento\Persistent\Observer\DisableGuestCheckoutObserver" />
20-
</event>
2118
<event name="customer_customer_authenticated">
2219
<observer name="persistent" instance="Magento\Persistent\Observer\CustomerAuthenticatedEventObserver" />
2320
</event>

0 commit comments

Comments
 (0)