@@ -39,60 +39,54 @@ public function __construct(
39
39
$ this ->request = $ request ;
40
40
}
41
41
42
- /**
43
- * Returns store based on web-api request path.
44
- *
45
- * @param string $requestPath
46
- * @return StoreInterface|null
47
- */
48
- private function getStore (string $ requestPath ): ?StoreInterface
49
- {
50
- $ pathParts = explode ('/ ' , trim ($ requestPath , '/ ' ));
51
- $ storeCode = current ($ pathParts );
52
- $ stores = $ this ->storeManager ->getStores (false , true );
53
-
54
- return $ stores [$ storeCode ] ?? null ;
55
- }
56
-
57
42
/**
58
43
* Update store id in requested quote by store id from request.
59
44
*
60
- * @param Quote $quote
45
+ * @param Quote $subject
46
+ * @param Quote $result
61
47
* @return Quote
48
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
62
49
*/
63
- private function loadQuote (Quote $ quote ): Quote
50
+ public function afterLoadByIdWithoutStore (Quote $ subject , Quote $ result ): Quote
64
51
{
65
- $ store = $ this ->getStore ( $ this -> request -> getPathInfo ());
66
- if ( $ store ) {
67
- $ quote -> setStoreId ( $ store -> getId () );
68
- }
52
+ $ storeId = $ this ->storeManager -> getStore ()
53
+ -> getId () ?: $ this -> storeManager -> getDefaultStoreView ()
54
+ -> getId ();
55
+ $ result -> setStoreId ( $ storeId );
69
56
70
- return $ quote ;
57
+ return $ result ;
71
58
}
72
59
73
60
/**
74
- * Update store id in requested quote by store id from guest 's request.
61
+ * Update store id in requested quote by store id from registered customer 's request.
75
62
*
76
63
* @param Quote $subject
77
64
* @param Quote $result
78
65
* @return Quote
79
66
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
80
67
*/
81
- public function afterLoadByIdWithoutStore (Quote $ subject , Quote $ result ): Quote
68
+ public function afterLoadByCustomer (Quote $ subject , Quote $ result ): Quote
82
69
{
83
- return $ this ->loadQuote ($ result );
70
+ $ store = $ this ->getStore ($ this ->request ->getPathInfo ());
71
+ if ($ store ) {
72
+ $ result ->setStoreId ($ store ->getId ());
73
+ }
74
+
75
+ return $ result ;
84
76
}
85
77
86
78
/**
87
- * Update store id in requested quote by store id from registered customer's request.
79
+ * Returns store based on web-api request path .
88
80
*
89
- * @param Quote $subject
90
- * @param Quote $result
91
- * @return Quote
92
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
81
+ * @param string $requestPath
82
+ * @return StoreInterface|null
93
83
*/
94
- public function afterLoadByCustomer ( Quote $ subject , Quote $ result ): Quote
84
+ private function getStore ( string $ requestPath ): ? StoreInterface
95
85
{
96
- return $ this ->loadQuote ($ result );
86
+ $ pathParts = explode ('/ ' , trim ($ requestPath , '/ ' ));
87
+ $ storeCode = current ($ pathParts );
88
+ $ stores = $ this ->storeManager ->getStores (false , true );
89
+
90
+ return $ stores [$ storeCode ] ?? null ;
97
91
}
98
92
}
0 commit comments