Skip to content

Commit b3f1a16

Browse files
author
Oleksandr Rykh
authored
Release 1.0.18 (#30)
* 1.0.18 release * 1.0.18 release - fixed short descriptions
1 parent 73472a3 commit b3f1a16

8 files changed

+385
-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.17",
5+
"version": "1.0.18",
66
"license": "proprietary",
77
"repositories": {
88
"repo": {

patches.json

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,9 @@
733733
"MDVA-31007-V4": {
734734
"magento/magento2-base": {
735735
"Fixes the issue where custom address attributes are not correctly displayed in the order details page in the my account area and in the backend.": {
736+
">=2.3.4 <2.3.6": {
737+
"file": "os/MDVA-31007__fixes_issue_where_custom_address_attributes_are_not_displayed_correctly_in_the_order_details_page_in_my_account_area_and_in_the_backend__2.4.0_v3.patch"
738+
},
736739
">=2.4.0 <2.4.1": {
737740
"file": "os/MDVA-31007__fixes_issue_where_custom_address_attributes_are_not_displayed_correctly_in_the_order_details_page_in_my_account_area_and_in_the_backend__2.4.0_v4.patch"
738741
},
@@ -743,6 +746,9 @@
743746
},
744747
"magento/magento2-ee-base": {
745748
"Fixes the issue where custom address attributes are not correctly displayed in the order details page in the my account area and in the backend.": {
749+
">=2.3.4 <2.3.6": {
750+
"file": "commerce/MDVA-31007__fixes_issue_where_custom_address_attributes_are_not_displayed_correctly_in_the_order_details_page_in_my_account_area_and_in_the_backend__2.4.0_v3.patch"
751+
},
746752
">=2.4.0 <2.4.1": {
747753
"file": "commerce/MDVA-31007__fixes_issue_where_custom_address_attributes_are_not_displayed_correctly_in_the_order_details_page_in_my_account_area_and_in_the_backend__2.4.0_v4.patch"
748754
},
@@ -1610,5 +1616,66 @@
16101616
}
16111617
}
16121618
}
1619+
},
1620+
"MDVA-32655": {
1621+
"magento/magento2-ee-base": {
1622+
"Fixes the incorrect 'in progress' message status to the correct 'complete' message for consumer 'quoteItemCleaner' after deleting several products.": {
1623+
">=2.3.0 <2.4.3": {
1624+
"file": "commerce/MDVA-32655__fixes_incorrect_consumer_status_after_deleting_several_products__2.3.3.patch"
1625+
}
1626+
}
1627+
}
1628+
},
1629+
"MDVA-34102": {
1630+
"magento/inventory-metapackage": {
1631+
"Fixes the quantity of Default Stock is zero for disabled products on the Product Grid and Edit Product pages in the Admin area.": {
1632+
">=1.2.0 <1.2.3": {
1633+
"file": "os/MDVA-34102__fixes_display_of_the_qty_of_Default_stock_from_cataloginventory_stock_item__2.3.5-p2.patch"
1634+
}
1635+
}
1636+
},
1637+
"magento/inventory-composer-metapackage": {
1638+
"Fixes the quantity of Default Stock is zero for disabled products on the Product Grid and Edit Product pages in the Admin area.": {
1639+
">=1.0.3 <1.2.0": {
1640+
"file": "os/MDVA-34102__fixes_display_of_the_qty_of_Default_stock_from_cataloginventory_stock_item__2.3.5-p2.patch"
1641+
}
1642+
}
1643+
}
1644+
},
1645+
"MDVA-35286": {
1646+
"magento/inventory-metapackage": {
1647+
"Fixes the issue where there is an error if a customer has bundled products in the cart and switches from Multiple Addresses checkout to Onepage checkout.": {
1648+
">=1.2.0 <1.2.2": {
1649+
"file": "os/MDVA-35286__fixes_an_error_on_checkout_with_multiple_shipping_address_and_bundle_product__2.4.1.patch"
1650+
}
1651+
}
1652+
}
1653+
},
1654+
"MDVA-35312": {
1655+
"magento/magento2-base": {
1656+
"Fixes response code 500 when an empty GraphQL request.": {
1657+
">=2.4.1-p1 <2.4.3": {
1658+
"file": "os/MDVA-35312__fixes_empty_GraphQL_request_throws_error_response_code_500__2.4.2.patch"
1659+
}
1660+
}
1661+
}
1662+
},
1663+
"MDVA-34189": {
1664+
"magento/magento2-ee-base": {
1665+
"Fixes 503 first byte timeout on visual merchandiser queries when loading the Admin Category page.": {
1666+
">=2.3.4 <2.4.3": {
1667+
"file": "commerce/MDVA-34189__fixes_503_first_bite_timeout_on_visual_merchandiser_queries__2.3.5-p2.patch"
1668+
}
1669+
}
1670+
}
1671+
},
1672+
"MDVA-34695": {
1673+
"magento/magento2-base": {
1674+
"Fixes negative children_count after deleting categories.": {
1675+
">=2.3.0 <2.4.1": {
1676+
"file": "os/MDVA-34695__fixes_negative_children_count_after_deleting_categories__2.3.4.patch"
1677+
}
1678+
}
1679+
}
16131680
}
16141681
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
diff --git a/vendor/magento/module-scalable-checkout/Model/Merger.php b/vendor/magento/module-scalable-checkout/Model/Merger.php
2+
index e2694a2cdbf..acfa1d46941 100644
3+
--- a/vendor/magento/module-scalable-checkout/Model/Merger.php
4+
+++ b/vendor/magento/module-scalable-checkout/Model/Merger.php
5+
@@ -32,13 +32,14 @@ class Merger implements \Magento\Framework\MessageQueue\MergerInterface
6+
public function merge(array $messageList)
7+
{
8+
$result = [];
9+
-
10+
+ $originalMessagesIds = [];
11+
foreach ($messageList as $topicName => $topicMessages) {
12+
foreach ($topicMessages as $messageId => $message) {
13+
+ $originalMessagesIds[] = $messageId;
14+
$mergedMessage = $this->mergedMessageFactory->create(
15+
[
16+
'mergedMessage' => $message,
17+
- 'originalMessagesIds' => [$messageId]
18+
+ 'originalMessagesIds' => $originalMessagesIds,
19+
]
20+
);
21+
$result[$topicName] = [$mergedMessage];
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
diff --git a/vendor/magento/module-visual-merchandiser/Model/Category/Products.php b/vendor/magento/module-visual-merchandiser/Model/Category/Products.php
2+
index 3058e3c1788..88656f280df 100644
3+
--- a/vendor/magento/module-visual-merchandiser/Model/Category/Products.php
4+
+++ b/vendor/magento/module-visual-merchandiser/Model/Category/Products.php
5+
@@ -172,9 +172,7 @@ class Products
6+
*/
7+
private function applyPositions(Collection $collection, int $categoryId, $productPositions = null)
8+
{
9+
- $positions = $this->getPositions();
10+
-
11+
- if ($positions === false) {
12+
+ if (!$this->_cache->getPositions($this->_cacheKey)) {
13+
if (!is_array($productPositions)) {
14+
$collection->getSelect()->where('at_position.category_id = ?', $categoryId);
15+
$collection->joinField(
16+
@@ -187,15 +185,18 @@ class Products
17+
);
18+
$collection->setOrder('position', $collection::SORT_ORDER_ASC);
19+
$productPositions = $this->positionResolver->getPositions($categoryId);
20+
+ $collection->setOrder('entity_id', $collection::SORT_ORDER_DESC);
21+
}
22+
23+
$this->positions = $productPositions;
24+
} else {
25+
$collection->getSelect()->reset(Select::WHERE)->reset(Select::HAVING);
26+
- $collection->addAttributeToFilter('entity_id', ['in' => array_keys($positions)]);
27+
+ $collection->addAttributeToFilter('entity_id', ['in' => array_keys($this->getPositions())]);
28+
+
29+
+ return $this->applyCachedChanges($collection);
30+
}
31+
32+
- return $this->applyCachedChanges($collection);
33+
+ return $collection;
34+
}
35+
36+
/**
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
diff --git a/vendor/magento/module-inventory-sales-admin-ui/Model/ResourceModel/GetStockItemData.php b/vendor/magento/module-inventory-sales-admin-ui/Model/ResourceModel/GetStockItemData.php
2+
new file mode 100644
3+
index 00000000000..2b3c7011db6
4+
--- /dev/null
5+
+++ b/vendor/magento/module-inventory-sales-admin-ui/Model/ResourceModel/GetStockItemData.php
6+
@@ -0,0 +1,88 @@
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\InventorySalesAdminUi\Model\ResourceModel;
15+
+
16+
+use Magento\Framework\App\ResourceConnection;
17+
+use Magento\Framework\Exception\LocalizedException;
18+
+use Magento\InventorySalesApi\Model\GetStockItemDataInterface;
19+
+use Magento\InventoryCatalogApi\Api\DefaultStockProviderInterface;
20+
+use Magento\InventoryCatalogApi\Model\GetProductIdsBySkusInterface;
21+
+
22+
+/**
23+
+ * Retrieve stock item data to show salable qty in the admin area
24+
+ */
25+
+class GetStockItemData implements GetStockItemDataInterface
26+
+{
27+
+ /**
28+
+ * @var ResourceConnection
29+
+ */
30+
+ private $resource;
31+
+
32+
+ /**
33+
+ * @var GetProductIdsBySkusInterface
34+
+ */
35+
+ private $getProductIdsBySkus;
36+
+
37+
+ /**
38+
+ * @var DefaultStockProviderInterface
39+
+ */
40+
+ private $defaultStockProvider;
41+
+
42+
+ /**
43+
+ * @var GetStockItemDataInterface
44+
+ */
45+
+ private $getCustomStockItemData;
46+
+
47+
+ /**
48+
+ * @param ResourceConnection $resource
49+
+ * @param DefaultStockProviderInterface $defaultStockProvider
50+
+ * @param GetProductIdsBySkusInterface $getProductIdsBySkus
51+
+ * @param GetStockItemDataInterface $getCustomStockItemData
52+
+ */
53+
+ public function __construct(
54+
+ ResourceConnection $resource,
55+
+ DefaultStockProviderInterface $defaultStockProvider,
56+
+ GetProductIdsBySkusInterface $getProductIdsBySkus,
57+
+ GetStockItemDataInterface $getCustomStockItemData
58+
+ ) {
59+
+ $this->resource = $resource;
60+
+ $this->defaultStockProvider = $defaultStockProvider;
61+
+ $this->getProductIdsBySkus = $getProductIdsBySkus;
62+
+ $this->getCustomStockItemData = $getCustomStockItemData;
63+
+ }
64+
+
65+
+ /**
66+
+ * @inheritdoc
67+
+ */
68+
+ public function execute(string $sku, int $stockId): ?array
69+
+ {
70+
+ if ($this->defaultStockProvider->getId() !== $stockId) {
71+
+ return $this->getCustomStockItemData->execute($sku, $stockId);
72+
+ }
73+
+
74+
+ $productId = current($this->getProductIdsBySkus->execute([$sku]));
75+
+ $connection = $this->resource->getConnection();
76+
+ $select = $connection->select()
77+
+ ->from(
78+
+ $this->resource->getTableName('cataloginventory_stock_item'),
79+
+ [
80+
+ GetStockItemDataInterface::QUANTITY => 'qty',
81+
+ GetStockItemDataInterface::IS_SALABLE => 'is_in_stock',
82+
+ ]
83+
+ )->where(
84+
+ 'product_id = ?',
85+
+ $productId
86+
+ );
87+
+
88+
+ try {
89+
+ return $connection->fetchRow($select) ?: null;
90+
+ } catch (\Exception $e) {
91+
+ throw new LocalizedException(__('Could not receive Stock Item data'), $e);
92+
+ }
93+
+ }
94+
+}
95+
diff --git a/vendor/magento/module-inventory-sales-admin-ui/etc/adminhtml/di.xml b/vendor/magento/module-inventory-sales-admin-ui/etc/adminhtml/di.xml
96+
index 37c3b4688e7..9fce5d23d70 100644
97+
--- a/vendor/magento/module-inventory-sales-admin-ui/etc/adminhtml/di.xml
98+
+++ b/vendor/magento/module-inventory-sales-admin-ui/etc/adminhtml/di.xml
99+
@@ -29,4 +29,14 @@
100+
<type name="Magento\InventoryApi\Api\StockRepositoryInterface">
101+
<plugin name="add_notice_for_unassigned_sales_channels" type="Magento\InventorySalesAdminUi\Plugin\InventoryApi\StockRepository\AddNoticeForUnassignedSalesChannels" sortOrder="10"/>
102+
</type>
103+
+ <virtualType name="GetProductSalableQtyAdminUi" type="Magento\InventorySales\Model\GetProductSalableQty">
104+
+ <arguments>
105+
+ <argument name="getStockItemData" xsi:type="object">Magento\InventorySalesAdminUi\Model\ResourceModel\GetStockItemData</argument>
106+
+ </arguments>
107+
+ </virtualType>
108+
+ <type name="Magento\InventorySalesAdminUi\Model\GetSalableQuantityDataBySku">
109+
+ <arguments>
110+
+ <argument name="getProductSalableQty" xsi:type="object">GetProductSalableQtyAdminUi</argument>
111+
+ </arguments>
112+
+ </type>
113+
</config>
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-catalog/Model/ResourceModel/Category/AggregateCount.php b/vendor/magento/module-catalog/Model/ResourceModel/Category/AggregateCount.php
2+
index fab2441db26..939f9d354af 100644
3+
--- a/vendor/magento/module-catalog/Model/ResourceModel/Category/AggregateCount.php
4+
+++ b/vendor/magento/module-catalog/Model/ResourceModel/Category/AggregateCount.php
5+
@@ -8,11 +8,15 @@ namespace Magento\Catalog\Model\ResourceModel\Category;
6+
use Magento\Catalog\Model\Category;
7+
8+
/**
9+
+ * Aggregate count for parent category after deleting child category
10+
+ *
11+
* Class AggregateCount
12+
*/
13+
class AggregateCount
14+
{
15+
/**
16+
+ * Reduces children count for parent categories
17+
+ *
18+
* @param Category $category
19+
* @return void
20+
*/
21+
@@ -25,9 +29,7 @@ class AggregateCount
22+
*/
23+
$parentIds = $category->getParentIds();
24+
if ($parentIds) {
25+
- $childDecrease = $category->getChildrenCount() + 1;
26+
- // +1 is itself
27+
- $data = ['children_count' => new \Zend_Db_Expr('children_count - ' . $childDecrease)];
28+
+ $data = ['children_count' => new \Zend_Db_Expr('children_count - 1')];
29+
$where = ['entity_id IN(?)' => $parentIds];
30+
$resourceModel->getConnection()->update($resourceModel->getEntityTable(), $data, $where);
31+
}
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
diff --git a/vendor/magento/module-inventory-in-store-pickup-multishipping/Plugin/Checkout/Controller/Index/Index/DisableMultishippingPlugin.php b/vendor/magento/module-inventory-in-store-pickup-multishipping/Plugin/Checkout/Controller/Index/Index/DisableMultishippingPlugin.php
2+
deleted file mode 100644
3+
index 52bc9bf9a53..00000000000
4+
--- a/vendor/magento/module-inventory-in-store-pickup-multishipping/Plugin/Checkout/Controller/Index/Index/DisableMultishippingPlugin.php
5+
+++ /dev/null
6+
@@ -1,47 +0,0 @@
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\InventoryInStorePickupMultishipping\Plugin\Checkout\Controller\Index\Index;
15+
-
16+
-use Magento\Checkout\Model\Cart;
17+
-
18+
-/**
19+
- * Turns Off multiple address checkout for Quote.
20+
- *
21+
- * @TODO remove when fix from core will be delivered. @see https://github.com/magento/magento2/pull/24072
22+
- */
23+
-class DisableMultishippingPlugin
24+
-{
25+
- /**
26+
- * @var Cart
27+
- */
28+
- private $cart;
29+
-
30+
- /**
31+
- * @param Cart $cart
32+
- */
33+
- public function __construct(Cart $cart)
34+
- {
35+
- $this->cart = $cart;
36+
- }
37+
-
38+
- /**
39+
- * Disable multiple address checkout.
40+
- *
41+
- * @param \Magento\Framework\App\Action\Action $subject
42+
- * @return void
43+
- * @SuppressWarnings(PHPMD.UnusedFormalParameter)
44+
- */
45+
- public function beforeExecute(\Magento\Framework\App\Action\Action $subject): void
46+
- {
47+
- $quote = $this->cart->getQuote();
48+
- if ($quote->getIsMultiShipping()) {
49+
- $quote->setIsMultiShipping(0);
50+
- $this->cart->saveQuote();
51+
- }
52+
- }
53+
-}
54+
diff --git a/vendor/magento/module-inventory-in-store-pickup-multishipping/etc/frontend/di.xml b/vendor/magento/module-inventory-in-store-pickup-multishipping/etc/frontend/di.xml
55+
deleted file mode 100644
56+
index 7509b1eff91..00000000000
57+
--- a/vendor/magento/module-inventory-in-store-pickup-multishipping/etc/frontend/di.xml
58+
+++ /dev/null
59+
@@ -1,12 +0,0 @@
60+
-<?xml version="1.0"?>
61+
-<!--
62+
-/**
63+
- * Copyright © Magento, Inc. All rights reserved.
64+
- * See COPYING.txt for license details.
65+
- */
66+
--->
67+
-<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
68+
- <type name="Magento\Checkout\Controller\Index\Index">
69+
- <plugin name="multishipping_disabler" type="Magento\InventoryInStorePickupMultishipping\Plugin\Checkout\Controller\Index\Index\DisableMultishippingPlugin" sortOrder="50" />
70+
- </type>
71+
-</config>

0 commit comments

Comments
 (0)