Files
myep/src/Menu/AdminMenuBuilder.php
T

84 lines
2.4 KiB
PHP

<?php
namespace App\Menu;
use Knp\Menu\ItemInterface;
class AdminMenuBuilder extends AbstractMenuBuilder
{
/**
* @param array<string, mixed> $options
*/
public function createMainMenu(array $options): ItemInterface
{
$menu = $this->createRootElement();
$menu->addChild('Dashboard', [
'route' => 'app_admin_dashboard',
'linkAttributes' => [
'title' => 'Dashboard',
],
'extras' => [
'icon' => 'chart',
],
]);
$menu->addChild('Buchungsentwürfe', [
'route' => 'app_admin_bookingeditdraft',
'linkAttributes' => [
'title' => 'Buchungsentwürfe',
],
'extras' => [
'icon' => 'edit',
'routes' => [['pattern' => '/^app_admin_bookingeditdraft/']],
],
]);
if ($this->security->isGranted('ROLE_GROUPS_ADMIN')) {
$menu->addChild('Gruppenbuchungen', [
'route' => 'app_admin_accommodationbooking',
'linkAttributes' => [
'title' => 'Buchungen',
],
'extras' => [
'icon' => 'list',
'routes' => [['pattern' => '/^app_admin_accommodationbooking\//']],
],
]);
$menu->addChild('Gruppenhäuser', [
'route' => 'app_admin_accommodation',
'linkAttributes' => [
'title' => 'Gruppenhäuser',
],
'extras' => [
'icon' => 'house',
'routes' => [['pattern' => '/^app_admin_accommodation\//']],
],
]);
}
$menu->addChild('Benutzer', [
'route' => 'app_admin_user',
'linkAttributes' => [
'title' => 'Benutzer',
],
'extras' => [
'icon' => 'users',
],
]);
$menu->addChild('Logs', [
'route' => 'app_admin_log',
'linkAttributes' => [
'title' => 'Logs',
],
'extras' => [
'icon' => 'list',
'routes' => [['pattern' => '/^app_admin_log/']],
],
]);
$this->addLogoutItem($menu);
return $menu;
}
}