From 0fe61f69b5dc84841f3c8f146bb37f93fb559e2a Mon Sep 17 00:00:00 2001 From: Simeon Kesmev Date: Thu, 2 Sep 2021 11:34:40 +0300 Subject: [PATCH] Fix inaccessible menu links returned by data producers #1204 --- src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php | 4 +++- .../GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php b/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php index fe27ea9b6..0e454cfd0 100644 --- a/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php +++ b/src/Plugin/GraphQL/DataProducer/Menu/MenuLinks.php @@ -91,7 +91,9 @@ public function resolve(MenuInterface $menu) { ]; return array_filter($this->menuLinkTree->transform($tree, $manipulators), function (MenuLinkTreeElement $item) { - return $item->link instanceof MenuLinkInterface && $item->link->isEnabled(); + return $item->link instanceof MenuLinkInterface + && $item->link->isEnabled() + && (!isset($item->access) || $item->access->isAllowed()); }); } diff --git a/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php b/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php index a3488fae1..f53886f44 100644 --- a/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php +++ b/src/Plugin/GraphQL/DataProducer/Menu/MenuTree/MenuTreeSubtree.php @@ -36,7 +36,7 @@ class MenuTreeSubtree extends DataProducerPluginBase { */ public function resolve(MenuLinkTreeElement $element) { return array_filter($element->subtree, function (MenuLinkTreeElement $item) { - return $item->link->isEnabled(); + return $item->link->isEnabled() && (!isset($item->access) || $item->access->isAllowed()); }); }