Skip to content

Commit 9189136

Browse files
authored
1.0.6 release (#40)
* 1.0.6 release
1 parent ed37349 commit 9189136

File tree

17 files changed

+2555
-1
lines changed

17 files changed

+2555
-1
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "magento/quality-patches",
33
"description": "Provides quality patches for Magento 2",
44
"type": "magento2-component",
5-
"version": "1.0.5",
5+
"version": "1.0.6",
66
"license": "proprietary",
77
"repositories": {
88
"repo": {

patches.json

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,5 +343,125 @@
343343
}
344344
}
345345
}
346+
},
347+
"MDVA-28993": {
348+
"magento/magento2-base": {
349+
"Implements the \"Minimum should match\" functionality and partial search for Elasticsearch engine. Solves issues with hyphens in search queries.": {
350+
">=2.3.4 <2.4.0": {
351+
"file": "os/MDVA-28993__implements_minimum_should_match_functionality_and_partial_search_for_elasticsearch__2.3.4.patch"
352+
}
353+
}
354+
}
355+
},
356+
"MDVA-30102": {
357+
"magento/magento2-base": {
358+
"Fixes the issue where Redis cache grows up quickly since layout caches don't have TTL.": {
359+
">=2.3.2 <=2.4.0": {
360+
"file": "os/MDVA-30102__fixes_issue_when_redis_cache_grows_up_quickly__2.3.5.patch"
361+
}
362+
}
363+
}
364+
},
365+
"MDVA-30599": {
366+
"magento/magento2-base": {
367+
"Fixes the issue where guest quotes created using API are incorrectly marked as quotes for logged in customers.": {
368+
">=2.3.4 <=2.4.0": {
369+
"file": "os/MDVA-30599__fixes_issue_with_API_created_guest_quotes_marked_as_logged_in_customers_quotes__2.3.5-p2.patch"
370+
}
371+
}
372+
}
373+
},
374+
"MDVA-29446": {
375+
"magento/magento2-base": {
376+
"Fixes the issue where the price of not applicable shipping method is shown as zero during checkout.": {
377+
">=2.3.3 <=2.4.0": {
378+
"file": "os/MDVA-29446__fixes_issue_with_non_applicable_shipping_method_price_shown_as_zero_in_checkout__2.3.4.patch"
379+
}
380+
}
381+
}
382+
},
383+
"MDVA-30357": {
384+
"magento/magento2-base": {
385+
"Fixes the issue with wrong image URLs are created when generating a sitemap by cron.": {
386+
">=2.3.2 <2.3.5": {
387+
"file": "os/MDVA-30357__fixes_issue_with_wrong_image_url_created_on_sitemap_generated_by_cron__2.3.3.patch",
388+
"require": ["MCLOUD-3025"]
389+
},
390+
">=2.3.5 <=2.4.0": {
391+
"file": "os/MDVA-30357__fixes_issue_with_wrong_image_url_created_on_sitemap_generated_by_cron__2.3.5.patch"
392+
}
393+
}
394+
}
395+
},
396+
"MDVA-30565": {
397+
"magento/magento2-base": {
398+
"Fixes the issue where \"No such entity with cartid = 0\" error is displayed for guest customer on storefront checkout if persistent shopping cart is enabled.\n": {
399+
">=2.3.2 <=2.3.3-p1": {
400+
"file": "os/MDVA-30565__fixes_no_such_entity_with_cartid_error_for_guest_customers_when_persistent_shopping_cart_is_enabled__2.3.3-p1.patch"
401+
}
402+
}
403+
}
404+
},
405+
"MDVA-29787": {
406+
"magento/magento2-ee-base": {
407+
"Fixes the issue where target rule for related products does not work when 'is one of' condition is used to define products to be displayed.": {
408+
">=2.3.0 <=2.4.0": {
409+
"file": "commerce/MDVA-29787__fixes_condition_is_one_of_not_working_on_target_rules_for_related_products_2.3.3.patch"
410+
}
411+
}
412+
}
413+
},
414+
"MDVA-30977": {
415+
"magento/magento2-base": {
416+
"Fixes the issue with random products missing from categories after reindex.": {
417+
">=2.3.4 <=2.3.5-p2": {
418+
"file": "os/MDVA-30977__fixes_issue_with_missing_random_products_from_categories_after_reindex__2.3.5-p1.patch"
419+
}
420+
}
421+
},
422+
"magento/inventory-metapackage": {
423+
"Fixes the issue with random products missing from categories after reindex.": {
424+
">=1.1.4 <=1.1.5-p1": {
425+
"file": "os/MDVA-30977__fixes_issue_with_missing_random_products_from_categories_after_reindex__1.1.5-p1.patch"
426+
}
427+
}
428+
}
429+
},
430+
"MDVA-28202": {
431+
"magento/magento2-base": {
432+
"Fixes the issue where Layered Navigation doesn't filter configurable products correctly when MSI is used.": {
433+
">=2.3.4 <=2.4.2": {
434+
"file": "os/MDVA-28202__fixes_issue_with_layered_navigation_not_filtering_configurable_products_correctly_with_msi__2.3.5-p1.patch"
435+
}
436+
}
437+
},
438+
"magento/inventory-metapackage": {
439+
"Fixes the issue where Layered Navigation doesn't filter configurable products correctly when MSI is used.": {
440+
">=1.1.4 <=1.2.2": {
441+
"file": "os/MDVA-28202__fixes_issue_with_layered_navigation_not_filtering_configurable_products_correctly_with_msi__1.1.5-p1.patch"
442+
}
443+
}
444+
}
445+
},
446+
"MDVA-28300": {
447+
"magento/magento2-base": {
448+
"Fixes the issue where GQL request doesn't reflect the price changes from catalog price rules.": {
449+
">=2.3.0 <2.3.6": {
450+
"file": "os/MDVA-28300__fixes_with_graphql_not_reflecting_price_chages_from_catalog_price_rule__2.3.5-p1.patch"
451+
}
452+
}
453+
}
454+
},
455+
"MDVA-31006": {
456+
"magento/magento2-base": {
457+
"Fixes the issue where duplicated orders appear after placing an order using Paypal Express payment.": {
458+
">=2.3.2 <2.3.3": {
459+
"file": "os/MDVA-30730__fixes_issue_with_duplicated_orders_when_using_paypal_express_payment__2.3.2-p2.patch"
460+
},
461+
">=2.3.3 <=2.4.2": {
462+
"file": "os/MDVA-31006__fixes_issue_with_duplicated_orders_when_using_paypal_express_payment__2.3.5-p2.patch"
463+
}
464+
}
465+
}
346466
}
347467
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
diff --git a/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php b/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php
2+
index 9f307ff9620..89ab29aea4a 100644
3+
--- a/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php
4+
+++ b/vendor/magento/module-target-rule/Model/Rule/Condition/Product/Attributes/SqlBuilder.php
5+
@@ -219,7 +219,7 @@ class SqlBuilder
6+
$this->indexResource->getOperatorCondition(
7+
$valueExpr,
8+
$condition->getOperator(),
9+
- $condition->getValue()
10+
+ $condition->getValueParsed()
11+
)
12+
);
13+
}
14+
@@ -286,7 +286,7 @@ class SqlBuilder
15+
$this->indexResource->getOperatorCondition(
16+
'table.value',
17+
$condition->getOperator(),
18+
- $condition->getValue()
19+
+ $condition->getValueParsed()
20+
)
21+
);
22+
}
23+
@@ -314,7 +314,7 @@ class SqlBuilder
24+
$this->indexResource->getOperatorCondition(
25+
'table.value',
26+
$condition->getOperator(),
27+
- $condition->getValue()
28+
+ $condition->getValueParsed()
29+
)
30+
);
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,158 @@
1+
diff --git a/vendor/magento/module-inventory-configurable-product/Pricing/Price/Indexer/StockStatusBaseSelectProcessor.php b/vendor/magento/module-inventory-configurable-product/Pricing/Price/Indexer/StockStatusBaseSelectProcessor.php
2+
new file mode 100644
3+
index 00000000000..68cb883c79a
4+
--- /dev/null
5+
+++ b/vendor/magento/module-inventory-configurable-product/Pricing/Price/Indexer/StockStatusBaseSelectProcessor.php
6+
@@ -0,0 +1,138 @@
7+
+<?php
8+
+/**
9+
+ * Copyright © Magento, Inc. All rights reserved.
10+
+ * See COPYING.txt for license details.
11+
+ */
12+
+declare(strict_types=1);
13+
+
14+
+namespace Magento\InventoryConfigurableProduct\Pricing\Price\Indexer;
15+
+
16+
+use Magento\Catalog\Api\Data\ProductInterface;
17+
+use Magento\Catalog\Model\ResourceModel\Product\BaseSelectProcessorInterface;
18+
+use Magento\CatalogInventory\Api\StockConfigurationInterface;
19+
+use Magento\Framework\App\ResourceConnection;
20+
+use Magento\Framework\DB\Select;
21+
+use Magento\Framework\EntityManager\MetadataPool;
22+
+use Magento\Framework\Exception\NoSuchEntityException;
23+
+use Magento\InventoryCatalogApi\Api\DefaultStockProviderInterface;
24+
+use Magento\InventoryIndexer\Model\StockIndexTableNameResolverInterface;
25+
+use Magento\InventorySalesApi\Api\Data\SalesChannelInterface;
26+
+use Magento\InventorySalesApi\Api\StockResolverInterface;
27+
+use Magento\Store\Model\StoreManagerInterface;
28+
+
29+
+/**
30+
+ * Base select processor.
31+
+ */
32+
+class StockStatusBaseSelectProcessor implements BaseSelectProcessorInterface
33+
+{
34+
+ /**
35+
+ * @var StockIndexTableNameResolverInterface
36+
+ */
37+
+ private $stockIndexTableNameResolver;
38+
+
39+
+ /**
40+
+ * @var StockConfigurationInterface
41+
+ */
42+
+ private $stockConfig;
43+
+
44+
+ /**
45+
+ * @var StoreManagerInterface
46+
+ */
47+
+ private $storeManager;
48+
+
49+
+ /**
50+
+ * @var StockResolverInterface
51+
+ */
52+
+ private $stockResolver;
53+
+
54+
+ /**
55+
+ * @var DefaultStockProviderInterface
56+
+ */
57+
+ private $defaultStockProvider;
58+
+
59+
+ /**
60+
+ * @var ResourceConnection
61+
+ */
62+
+ private $resourceConnection;
63+
+
64+
+ /**
65+
+ * @var MetadataPool
66+
+ */
67+
+ private $metadataPool;
68+
+
69+
+ /**
70+
+ * @param StockIndexTableNameResolverInterface $stockIndexTableNameResolver
71+
+ * @param StockConfigurationInterface $stockConfig
72+
+ * @param StoreManagerInterface $storeManager
73+
+ * @param StockResolverInterface $stockResolver
74+
+ * @param ResourceConnection $resourceConnection
75+
+ * @param DefaultStockProviderInterface $defaultStockProvider
76+
+ * @param MetadataPool $metadataPool
77+
+ */
78+
+ public function __construct(
79+
+ StockIndexTableNameResolverInterface $stockIndexTableNameResolver,
80+
+ StockConfigurationInterface $stockConfig,
81+
+ StoreManagerInterface $storeManager,
82+
+ StockResolverInterface $stockResolver,
83+
+ ResourceConnection $resourceConnection,
84+
+ DefaultStockProviderInterface $defaultStockProvider,
85+
+ MetadataPool $metadataPool
86+
+ ) {
87+
+ $this->stockIndexTableNameResolver = $stockIndexTableNameResolver;
88+
+ $this->stockConfig = $stockConfig;
89+
+ $this->storeManager = $storeManager;
90+
+ $this->stockResolver = $stockResolver;
91+
+ $this->resourceConnection = $resourceConnection;
92+
+ $this->defaultStockProvider = $defaultStockProvider;
93+
+ $this->metadataPool = $metadataPool;
94+
+ }
95+
+
96+
+ /**
97+
+ * Improves the select with stock status sub query.
98+
+ *
99+
+ * @param Select $select
100+
+ * @return Select
101+
+ * @throws NoSuchEntityException
102+
+ */
103+
+ public function process(Select $select)
104+
+ {
105+
+ if (!$this->stockConfig->isShowOutOfStock()) {
106+
+ return $select;
107+
+ }
108+
+
109+
+ $websiteCode = $this->storeManager->getWebsite()->getCode();
110+
+ $stock = $this->stockResolver->execute(SalesChannelInterface::TYPE_WEBSITE, $websiteCode);
111+
+ $stockId = (int)$stock->getStockId();
112+
+ if ($stockId === $this->defaultStockProvider->getId()) {
113+
+ return $select;
114+
+ }
115+
+
116+
+ $metadata = $this->metadataPool->getMetadata(ProductInterface::class);
117+
+ $linkField = $metadata->getLinkField();
118+
+
119+
+ $select->joinInner(
120+
+ ['le2' => $this->resourceConnection->getTableName('catalog_product_entity')],
121+
+ 'le2.' . $linkField . ' = l.product_id',
122+
+ []
123+
+ )->joinInner(
124+
+ ['stock' => $this->stockIndexTableNameResolver->execute($stockId)],
125+
+ 'stock.sku = le2.sku',
126+
+ []
127+
+ )->joinInner(
128+
+ ['stock_parent' => $this->stockIndexTableNameResolver->execute($stockId)],
129+
+ 'stock_parent.sku = le.sku',
130+
+ []
131+
+ )->where(
132+
+ 'stock.is_salable = ?',
133+
+ 1
134+
+ )->orWhere(
135+
+ 'stock.is_salable = ?',
136+
+ 0
137+
+ )->where(
138+
+ 'stock_parent.is_salable = ?',
139+
+ 0
140+
+ );
141+
+
142+
+ return $select;
143+
+ }
144+
+}
145+
diff --git a/vendor/magento/module-inventory-configurable-product/etc/di.xml b/vendor/magento/module-inventory-configurable-product/etc/di.xml
146+
index 77358c2d991..3fe63f887b6 100644
147+
--- a/vendor/magento/module-inventory-configurable-product/etc/di.xml
148+
+++ b/vendor/magento/module-inventory-configurable-product/etc/di.xml
149+
@@ -26,4 +26,9 @@
150+
<type name="Magento\CatalogInventory\Observer\ParentItemProcessorInterface">
151+
<plugin name="adapt_parent_stock_processor" type="Magento\InventoryConfigurableProduct\Plugin\CatalogInventory\Observer\ParentItemProcessor\AdaptParentItemProcessorPlugin"/>
152+
</type>
153+
+ <type name="Magento\ConfigurableProduct\Model\ResourceModel\Product\Indexer\Price\Configurable">
154+
+ <arguments>
155+
+ <argument name="baseSelectProcessor" xsi:type="object">Magento\InventoryConfigurableProduct\Pricing\Price\Indexer\StockStatusBaseSelectProcessor</argument>
156+
+ </arguments>
157+
+ </type>
158+
</config>

0 commit comments

Comments
 (0)