wip: functionality for new role 'management'
This commit is contained in:
@@ -47,6 +47,22 @@ abstract class AbstractMenuBuilder
|
||||
}
|
||||
}
|
||||
|
||||
protected function addManagerItem(ItemInterface $menu): void
|
||||
{
|
||||
if ($this->security->isGranted('ROLE_MANAGER')) {
|
||||
$this->addDivider($menu);
|
||||
$menu->addChild('zum Managementbereich', [
|
||||
'route' => 'app_manager_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'zum Managementbereich',
|
||||
],
|
||||
'extras' => [
|
||||
'icon' => 'user',
|
||||
],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
protected function addTeamerItem(ItemInterface $menu): void
|
||||
{
|
||||
if ($this->security->isGranted('ROLE_TEAMER')) {
|
||||
|
||||
@@ -20,14 +20,14 @@ class AdminMenuBuilder extends AbstractMenuBuilder
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Einsatzübersicht', [
|
||||
'route' => 'app_admin_assignment_index',
|
||||
'route' => 'app_administrative_assignment_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Einsatzübersicht',
|
||||
],
|
||||
'extras' => [
|
||||
'icon' => 'calendar',
|
||||
'routes' => [
|
||||
['pattern' => '/^app_admin_assignment_/'],
|
||||
['pattern' => '/^app_administrative_assignment_/'],
|
||||
],
|
||||
],
|
||||
]);
|
||||
@@ -41,7 +41,7 @@ class AdminMenuBuilder extends AbstractMenuBuilder
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Dokumentenübersicht', [
|
||||
'route' => 'app_admin_document_index',
|
||||
'route' => 'app_administrative_document_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Dokumentenübersicht',
|
||||
],
|
||||
@@ -125,24 +125,24 @@ class AdminMenuBuilder extends AbstractMenuBuilder
|
||||
],
|
||||
]);
|
||||
$settingsMenu->addChild('FAQ', [
|
||||
'route' => 'app_admin_system_faq_index',
|
||||
'route' => 'app_administrative_system_faq_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'FAQ',
|
||||
],
|
||||
'extras' => [
|
||||
'routes' => [
|
||||
['pattern' => '/^app_admin_system_faq_/']
|
||||
['pattern' => '/^app_administrative_system_faq_/']
|
||||
],
|
||||
],
|
||||
]);
|
||||
$settingsMenu->addChild('Dokumente', [
|
||||
'route' => 'app_admin_system_document_index',
|
||||
'route' => 'app_administrative_system_document_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Dokumente',
|
||||
],
|
||||
'extras' => [
|
||||
'routes' => [
|
||||
['pattern' => '/^app_admin_system_document_/']
|
||||
['pattern' => '/^app_administrative_system_document_/']
|
||||
],
|
||||
],
|
||||
]);
|
||||
@@ -169,6 +169,7 @@ class AdminMenuBuilder extends AbstractMenuBuilder
|
||||
]);
|
||||
|
||||
$this->addTeamerItem($menu);
|
||||
$this->addManagerItem($menu);
|
||||
$this->addHouseManagerItem($menu);
|
||||
$this->addLogoutItem($menu);
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ class HouseManagerMenuBuilder extends AbstractMenuBuilder
|
||||
]);
|
||||
|
||||
$this->addAdminItem($menu);
|
||||
$this->addManagerItem($menu);
|
||||
$this->addTeamerItem($menu);
|
||||
$this->addLogoutItem($menu);
|
||||
|
||||
|
||||
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
|
||||
namespace App\Menu;
|
||||
|
||||
use Knp\Menu\ItemInterface;
|
||||
|
||||
class ManagerMenuBuilder extends AbstractMenuBuilder
|
||||
{
|
||||
public function createMainMenu(array $options): ItemInterface
|
||||
{
|
||||
$menu = $this->createRootElement();
|
||||
|
||||
$menu->addChild('Dashboard', [
|
||||
'route' => 'app_manager_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Dashboard',
|
||||
],
|
||||
'extras' => [
|
||||
'icon' => 'chart',
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Einsatzübersicht', [
|
||||
'route' => 'app_administrative_assignment_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Einsatzübersicht',
|
||||
],
|
||||
'extras' => [
|
||||
'icon' => 'calendar',
|
||||
'routes' => [
|
||||
['pattern' => '/^app_administrative_assignment_/'],
|
||||
],
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Dokumentenübersicht', [
|
||||
'route' => 'app_administrative_document_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Dokumentenübersicht',
|
||||
],
|
||||
'extras' => [
|
||||
'icon' => 'document',
|
||||
],
|
||||
]);
|
||||
// $menu->addChild('Teamübersicht', [
|
||||
// 'route' => 'app_admin_teamer_index',
|
||||
// 'linkAttributes' => [
|
||||
// 'title' => 'Teamübersicht',
|
||||
// ],
|
||||
// 'extras' => [
|
||||
// 'icon' => 'users',
|
||||
// 'routes' => [
|
||||
// ['pattern' => '/^app_admin_teamer_/']
|
||||
// ],
|
||||
// ],
|
||||
// ]);
|
||||
$settingsMenu = $menu->addChild('Einstellungen', [
|
||||
'linkAttributes' => [
|
||||
'title' => 'Einstellungen',
|
||||
],
|
||||
'extras' => [
|
||||
'icon' => 'settings',
|
||||
],
|
||||
]);
|
||||
$settingsMenu->addChild('FAQ', [
|
||||
'route' => 'app_administrative_system_faq_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'FAQ',
|
||||
],
|
||||
'extras' => [
|
||||
'routes' => [
|
||||
['pattern' => '/^app_administrative_system_faq_/']
|
||||
],
|
||||
],
|
||||
]);
|
||||
$settingsMenu->addChild('Dokumente', [
|
||||
'route' => 'app_administrative_system_document_index',
|
||||
'linkAttributes' => [
|
||||
'title' => 'Dokumente',
|
||||
],
|
||||
'extras' => [
|
||||
'routes' => [
|
||||
['pattern' => '/^app_administrative_system_document_/']
|
||||
],
|
||||
],
|
||||
]);
|
||||
|
||||
$this->addAdminItem($menu);
|
||||
$this->addTeamerItem($menu);
|
||||
$this->addHouseManagerItem($menu);
|
||||
$this->addLogoutItem($menu);
|
||||
|
||||
return $menu;
|
||||
}
|
||||
|
||||
public function createTeamerMenu(array $options): ItemInterface
|
||||
{
|
||||
$menu = $this->createRootElement();
|
||||
|
||||
$menu->addChild('Stammdaten & Foto', [
|
||||
'route' => 'app_admin_teamer_profile',
|
||||
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
|
||||
'linkAttributes' => [
|
||||
'title' => 'Stammdaten & Foto',
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Jobprofile & Skills', [
|
||||
'route' => 'app_admin_teamer_skills',
|
||||
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
|
||||
'linkAttributes' => [
|
||||
'title' => 'Jobprofile & Skills',
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Verfügbarkeit', [
|
||||
'route' => 'app_admin_teamer_availability',
|
||||
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
|
||||
'linkAttributes' => [
|
||||
'title' => 'Verfügbarkeit',
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Selektionsmerkmale', [
|
||||
'route' => 'app_admin_teamer_crm_selections',
|
||||
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
|
||||
'linkAttributes' => [
|
||||
'title' => 'Selektionsmerkmale',
|
||||
],
|
||||
]);
|
||||
$menu->addChild('Vergangene Einsätze', [
|
||||
'route' => 'app_admin_teamer_recent_assignments',
|
||||
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
|
||||
'linkAttributes' => [
|
||||
'title' => 'Vergangene Einsätze',
|
||||
],
|
||||
]);
|
||||
|
||||
$this->addDivider($menu);
|
||||
|
||||
$menu->addChild('zurück zur Übersicht', [
|
||||
'route' => 'app_admin_teamer_index',
|
||||
'extras' => [
|
||||
'icon' => 'arrow-left',
|
||||
],
|
||||
]);
|
||||
|
||||
return $menu;
|
||||
}
|
||||
}
|
||||
@@ -114,6 +114,7 @@ class TeamerMenuBuilder extends AbstractMenuBuilder
|
||||
]);
|
||||
|
||||
$this->addAdminItem($menu);
|
||||
$this->addManagerItem($menu);
|
||||
$this->addHouseManagerItem($menu);
|
||||
$this->addLogoutItem($menu);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user