Skip to content

Commit 0baf76d

Browse files
Merge pull request #108 from magento-commerce/1.1.23-release
1.1.23 QPT Release
2 parents 36f915b + 9822abd commit 0baf76d

14 files changed

+1176
-5
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 AdobeCommerce & Magento OpenSource",
44
"type": "magento2-component",
5-
"version": "1.1.22",
5+
"version": "1.1.23",
66
"license": "proprietary",
77
"repositories": {
88
"repo": {

magento_releases.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,14 @@
11
{
2+
"2.4.5-p1": {
3+
"magento/magento2-base": "2.4.5-p1",
4+
"magento/magento2-ee-base": "2.4.5-p1",
5+
"magento/magento2-b2b-base": "1.3.4-p1",
6+
"magento/inventory-metapackage": "1.2.5-p1",
7+
"magento/module-page-builder": "2.2.3-p1",
8+
"magento/page-builder-commerce": "1.7.2-p1",
9+
"magento/security-package": "1.1.4-p1",
10+
"magento/security-package-b2b": "1.0.2-p1"
11+
},
212
"2.4.5": {
313
"magento/magento2-base": "2.4.5",
414
"magento/magento2-ee-base": "2.4.5",

patches-info.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
diff --git a/vendor/magento/module-company-graph-ql/Model/Company/Role/ValidateRole.php b/vendor/magento/module-company-graph-ql/Model/Company/Role/ValidateRole.php
2+
index d457bc30f3..2c7f0bd673 100644
3+
--- a/vendor/magento/module-company-graph-ql/Model/Company/Role/ValidateRole.php
4+
+++ b/vendor/magento/module-company-graph-ql/Model/Company/Role/ValidateRole.php
5+
@@ -8,7 +8,7 @@ declare(strict_types=1);
6+
7+
namespace Magento\CompanyGraphQl\Model\Company\Role;
8+
9+
-use Magento\Company\Model\ResourceModel\Permission\Collection as PermissionCollection;
10+
+use Magento\Framework\Acl\AclResource\ProviderInterface;
11+
use Magento\Framework\GraphQl\Exception\GraphQlInputException;
12+
13+
/**
14+
@@ -24,16 +24,16 @@ class ValidateRole
15+
private $requiredFields = [];
16+
17+
/**
18+
- * @var PermissionCollection
19+
+ * @var ProviderInterface
20+
*/
21+
- private $permissionCollection;
22+
+ private $resourceProvider;
23+
24+
/**
25+
- * @param PermissionCollection $permissionCollection
26+
+ * @param ProviderInterface $resourceProvider
27+
*/
28+
- public function __construct(PermissionCollection $permissionCollection)
29+
+ public function __construct(ProviderInterface $resourceProvider)
30+
{
31+
- $this->permissionCollection = $permissionCollection;
32+
+ $this->resourceProvider = $resourceProvider;
33+
}
34+
35+
/**
36+
@@ -97,17 +97,31 @@ class ValidateRole
37+
*/
38+
private function validateResources(array $resourcesList)
39+
{
40+
- $errorInput = [];
41+
- $resources = $this->permissionCollection->getColumnValues('resource_id');
42+
- foreach ($resourcesList as $resource) {
43+
- if (!in_array($resource, $resources, true)) {
44+
- $errorInput[] = $resource;
45+
- }
46+
- }
47+
+ $resources = array_values($this->toFlatArray($this->resourceProvider->getAclResources()));
48+
+ $errorInput = array_diff($resourcesList, $resources);
49+
if ($errorInput) {
50+
throw new GraphQlInputException(
51+
__('Invalid role permission resources: %1.', [implode(', ', $errorInput)])
52+
);
53+
}
54+
}
55+
+
56+
+ /**
57+
+ * Convert resources tree to flat array
58+
+ *
59+
+ * @param array $resources
60+
+ * @return array
61+
+ */
62+
+ private function toFlatArray(array $resources): array
63+
+ {
64+
+ $result = [];
65+
+ foreach ($resources as $resource) {
66+
+ $result[$resource['id']] = $resource['id'];
67+
+ if (!empty($resource['children'])) {
68+
+ $result += $this->toFlatArray($resource['children']);
69+
+ }
70+
+ }
71+
+
72+
+ return $result;
73+
+ }
74+
}
75+
diff --git a/vendor/magento/module-company-graph-ql/etc/graphql/di.xml b/vendor/magento/module-company-graph-ql/etc/graphql/di.xml
76+
index d7d2599e17..4dbea8cc89 100644
77+
--- a/vendor/magento/module-company-graph-ql/etc/graphql/di.xml
78+
+++ b/vendor/magento/module-company-graph-ql/etc/graphql/di.xml
79+
@@ -102,4 +102,9 @@
80+
</argument>
81+
</arguments>
82+
</type>
83+
+ <type name="Magento\CompanyGraphQl\Model\Company\Role\ValidateRole">
84+
+ <arguments>
85+
+ <argument name="resourceProvider" xsi:type="object">Magento\Company\Acl\AclResource\Provider</argument>
86+
+ </arguments>
87+
+ </type>
88+
</config>

patches/os/ACSD-46519_2.4.4.patch

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
diff --git a/vendor/magento/module-catalog-graph-ql/Model/AttributesJoiner.php b/vendor/magento/module-catalog-graph-ql/Model/AttributesJoiner.php
2+
index 34f5dd83168..99d391ef764 100644
3+
--- a/vendor/magento/module-catalog-graph-ql/Model/AttributesJoiner.php
4+
+++ b/vendor/magento/module-catalog-graph-ql/Model/AttributesJoiner.php
5+
@@ -10,6 +10,7 @@ namespace Magento\CatalogGraphQl\Model;
6+
use GraphQL\Language\AST\FieldNode;
7+
use GraphQL\Language\AST\InlineFragmentNode;
8+
use GraphQL\Language\AST\NodeKind;
9+
+use Magento\Catalog\Api\Data\CategoryInterface;
10+
use Magento\Eav\Model\Entity\Collection\AbstractCollection;
11+
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
12+
13+
@@ -18,6 +19,7 @@ use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
14+
*/
15+
class AttributesJoiner
16+
{
17+
+ private const REQUEST_FIELD_NAME = 'categoryList';
18+
/**
19+
* @var array
20+
*/
21+
@@ -75,7 +77,6 @@ class AttributesJoiner
22+
$fragmentFields[] = $this->addInlineFragmentFields($resolveInfo, $field);
23+
} elseif ($field->kind === NodeKind::FRAGMENT_SPREAD &&
24+
($spreadFragmentNode = $resolveInfo->fragments[$field->name->value])) {
25+
-
26+
foreach ($spreadFragmentNode->selectionSet->selections as $spreadNode) {
27+
if (isset($spreadNode->selectionSet->selections)) {
28+
$fragmentFields[] = $this->getQueryFields($spreadNode, $resolveInfo);
29+
@@ -85,6 +86,11 @@ class AttributesJoiner
30+
}
31+
} else {
32+
$selectedFields[] = $field->name->value;
33+
+ $selectedFields = $this->addIsAnchoredAttributeToSelectedFiled(
34+
+ $resolveInfo,
35+
+ $field,
36+
+ $selectedFields
37+
+ );
38+
}
39+
}
40+
if ($fragmentFields) {
41+
@@ -172,4 +178,24 @@ class AttributesJoiner
42+
{
43+
$this->queryFields[$fieldNode->name->value][$fieldNode->name->loc->start] = $selectedFields;
44+
}
45+
+
46+
+ /**
47+
+ * Add `is_anchor` attribute to selected field
48+
+ *
49+
+ * @param ResolveInfo $resolveInfo
50+
+ * @param FieldNode $fieldNode
51+
+ * @param array $selectedFields
52+
+ * @return array
53+
+ */
54+
+ private function addIsAnchoredAttributeToSelectedFiled(
55+
+ ResolveInfo $resolveInfo,
56+
+ FieldNode $fieldNode,
57+
+ array $selectedFields
58+
+ ): array {
59+
+ if ($resolveInfo->fieldName === self::REQUEST_FIELD_NAME
60+
+ && $fieldNode->name->value === CategoryInterface::KEY_PRODUCT_COUNT) {
61+
+ $selectedFields[] = 'is_anchor';
62+
+ }
63+
+ return $selectedFields;
64+
+ }
65+
}

0 commit comments

Comments
 (0)