diff --git a/src/Bundle/ChillTicketBundle/src/Menu/SectionMenuBuilder.php b/src/Bundle/ChillTicketBundle/src/Menu/SectionMenuBuilder.php index 554aacc77..cd99605b0 100644 --- a/src/Bundle/ChillTicketBundle/src/Menu/SectionMenuBuilder.php +++ b/src/Bundle/ChillTicketBundle/src/Menu/SectionMenuBuilder.php @@ -12,14 +12,20 @@ declare(strict_types=1); namespace Chill\TicketBundle\Menu; use Chill\MainBundle\Routing\LocalMenuBuilderInterface; +use Chill\TicketBundle\Security\Voter\TicketVoter; use Knp\Menu\MenuItem; +use Symfony\Component\Security\Core\Security; -class SectionMenuBuilder implements LocalMenuBuilderInterface +final readonly class SectionMenuBuilder implements LocalMenuBuilderInterface { + public function __construct(private Security $security) {} + public function buildMenu($menuId, MenuItem $menu, array $parameters) { - $menu->addChild('Tickets', ['route' => 'chill_ticket_ticket_list']) - ->setExtras(['order' => 250]); + if ($this->security->isGranted(TicketVoter::READ)) { + $menu->addChild('Tickets', ['route' => 'chill_ticket_ticket_list']) + ->setExtras(['order' => 250]); + } } public static function getMenuIds(): array