Skip to content

Commit c10007f

Browse files
committed
ACP2E-778: REST API: Product names in cart always use default store view values
1 parent 1ef87f5 commit c10007f

File tree

2 files changed

+19
-32
lines changed

2 files changed

+19
-32
lines changed

app/code/Magento/Quote/Model/Quote/Plugin/UpdateQuoteStoreId.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,16 @@ public function afterLoadByIdWithoutStore(Quote $subject, Quote $result): Quote
4646

4747
return $result;
4848
}
49+
50+
/**
51+
* Update store id in requested quote by store id from request for registered customer.
52+
*
53+
* @param Quote $subject
54+
* @param Quote $result
55+
* @return Quote
56+
*/
57+
public function afterLoadByCustomer(Quote $subject, Quote $result): Quote
58+
{
59+
return $this->afterLoadByIdWithoutStore($subject, $result);
60+
}
4961
}

app/code/Magento/Quote/Model/ResourceModel/Quote.php

Lines changed: 7 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,9 @@
66

77
namespace Magento\Quote\Model\ResourceModel;
88

9-
use Magento\Framework\App\ObjectManager;
10-
use Magento\Framework\Model\ResourceModel\Db\Context;
119
use Magento\Framework\Model\ResourceModel\Db\VersionControl\AbstractDb;
1210
use Magento\Framework\Model\ResourceModel\Db\VersionControl\RelationComposite;
1311
use Magento\Framework\Model\ResourceModel\Db\VersionControl\Snapshot;
14-
use Magento\Quote\Api\CartRepositoryInterface;
1512
use Magento\SalesSequence\Model\Manager;
1613

1714
/**
@@ -20,39 +17,26 @@
2017
class Quote extends AbstractDb
2118
{
2219
/**
23-
* Sales sequence manager
24-
*
25-
* @var Manager
20+
* @var \Magento\SalesSequence\Model\Manager
2621
*/
2722
protected $sequenceManager;
2823

2924
/**
30-
* Quote repository interface object
31-
*
32-
* @var CartRepositoryInterface
33-
*/
34-
private $quoteRepository;
35-
36-
/**
37-
* @param Context $context
25+
* @param \Magento\Framework\Model\ResourceModel\Db\Context $context
3826
* @param Snapshot $entitySnapshot
3927
* @param RelationComposite $entityRelationComposite
40-
* @param Manager $sequenceManager
28+
* @param \Magento\SalesSequence\Model\Manager $sequenceManager
4129
* @param string $connectionName
42-
* @param CartRepositoryInterface|null $quoteRepository
4330
*/
4431
public function __construct(
45-
Context $context,
32+
\Magento\Framework\Model\ResourceModel\Db\Context $context,
4633
Snapshot $entitySnapshot,
4734
RelationComposite $entityRelationComposite,
4835
Manager $sequenceManager,
49-
$connectionName = null,
50-
?CartRepositoryInterface $quoteRepository = null
36+
$connectionName = null
5137
) {
5238
parent::__construct($context, $entitySnapshot, $entityRelationComposite, $connectionName);
5339
$this->sequenceManager = $sequenceManager;
54-
$this->quoteRepository = $quoteRepository ?: ObjectManager::getInstance()
55-
->get(CartRepositoryInterface::class);
5640
}
5741

5842
/**
@@ -120,17 +104,8 @@ public function loadByCustomerId($quote, $customerId)
120104
$data = $connection->fetchRow($select);
121105

122106
if ($data) {
123-
//Prevent current StoreId of the quote to be overridden
124-
$currentStoreId = $quote->getStoreId();
125-
if ($currentStoreId !== null && $currentStoreId !== (int)$data['store_id']) {
126-
unset($data['store_id']);
127-
$quote->setData($data);
128-
$quote->setOrigData();
129-
$this->quoteRepository->save($quote);
130-
} else {
131-
$quote->setData($data);
132-
$quote->setOrigData();
133-
}
107+
$quote->setData($data);
108+
$quote->setOrigData();
134109
}
135110

136111
$this->_afterLoad($quote);

0 commit comments

Comments
 (0)