createRootElement(); $menu->addChild('Dashboard', [ 'route' => 'app_admin_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('Zeitleiste', [ 'route' => 'app_administrative_timeline', 'linkAttributes' => [ 'title' => 'Zeitleiste', ], 'extras' => [ 'icon' => 'table', ], ]); $menu->addChild('Bewerbungsübersicht', [ 'route' => 'app_admin_application_index', 'linkAttributes' => [ 'title' => 'Bewerbungsübersicht', ], 'extras' => [ 'icon' => 'mail', ], ]); $documentMenu = $menu->addChild('Dokumente', [ 'extras' => [ 'icon' => 'document', ], ]); $documentMenu->addChild('Übersicht', [ 'route' => 'app_administrative_document_index', 'linkAttributes' => [ 'title' => 'Übersicht', ], ]); $documentMenu->addChild('akzeptierte Honorarnoten', [ 'route' => 'app_administrative_document_accepted', 'routeParameters' => [ 'type' => Upload::TYPE_INVOICE, ], 'linkAttributes' => [ 'title' => 'akzeptierte Honorarnoten', ], ]); $documentMenu->addChild('geprüfte Honorverträge', [ 'route' => 'app_administrative_document_accepted', 'routeParameters' => [ 'type' => Upload::TYPE_CONTRACT, ], 'linkAttributes' => [ 'title' => 'geprüfte Honorverträge', ], ]); $menu->addChild('Feedbackübersicht', [ 'route' => 'app_administrative_feedback_index', 'linkAttributes' => [ 'title' => 'Feedbackübersicht', ], 'extras' => [ 'icon' => 'feedback', 'routes' => [ ['pattern' => '/^app_administrative_feedback_/'], ], ], ]); $menu->addChild('Teamübersicht', [ 'route' => 'app_administrative_teamer_index', 'linkAttributes' => [ 'title' => 'Teamübersicht', ], 'extras' => [ 'icon' => 'users', 'routes' => [ ['pattern' => '/^app_administrative_teamer_/'], ['pattern' => '/^app_admin_teamer_/'], ], ], ]); $menu->addChild('Verfügbarkeiten', [ 'route' => 'app_administrative_availability_index', 'linkAttributes' => [ 'title' => 'Verfügbarkeiten', ], 'extras' => [ 'icon' => 'calendar', ], ]); $statisticsMenu = $menu->addChild('Statistiken', [ 'extras' => [ 'icon' => 'chart', ], ]); $statisticsMenu->addChild('Bewertungen nach Kategorie', [ 'route' => 'app_administrative_statistics_feedback_ratings', 'linkAttributes' => [ 'title' => 'Bewertungen nach Kategorie', ], ]); $statisticsMenu->addChild('Feedback pro Destination', [ 'route' => 'app_administrative_statistics_feedback_by_destination', 'linkAttributes' => [ 'title' => 'Feedback pro Destination', ], ]); $statisticsMenu->addChild('Bewertungen nach Destination', [ 'route' => 'app_administrative_statistics_feedback_ratings_by_destination', 'linkAttributes' => [ 'title' => 'Bewertungen nach Destination', ], ]); $settingsMenu = $menu->addChild('Einstellungen', [ 'linkAttributes' => [ 'title' => 'Einstellungen', ], 'extras' => [ 'icon' => 'settings', ], ]); $settingsMenu->addChild('Verfügbarkeiten', [ 'route' => 'app_admin_system_availability_index', 'linkAttributes' => [ 'title' => 'Verfügbarkeiten', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_availability_/'], ], ], ]); $settingsMenu->addChild('Honorare', [ 'route' => 'app_admin_system_fee_index', 'linkAttributes' => [ 'title' => 'Honorare', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_fee_/'], ], ], ]); $settingsMenu->addChild('Fortbildungen', [ 'route' => 'app_admin_system_training_index', 'linkAttributes' => [ 'title' => 'Fortbildungen', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_training_/'], ], ], ]); $settingsMenu->addChild('Jobprofile', [ 'route' => 'app_admin_system_job_profile_index', 'linkAttributes' => [ 'title' => 'Jobprofile', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_job_profile_/'], ], ], ]); $settingsMenu->addChild('Reisen', [ 'route' => 'app_administrative_system_destination_index', 'linkAttributes' => [ 'title' => 'Reisen', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_administrative_system_destination_/'], ], ], ]); $settingsMenu->addChild('Feedbackvorlagen', [ 'route' => 'app_admin_system_feedback_set_index', 'linkAttributes' => [ 'title' => 'Feedbackvorlagen', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_feedback_set_/'], ], ], ]); $settingsMenu->addChild('FAQ', [ 'route' => 'app_administrative_system_faq_index', 'linkAttributes' => [ 'title' => 'FAQ', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_administrative_system_faq_/'], ], ], ]); $settingsMenu->addChild('News', [ 'route' => 'app_administrative_system_news_index', 'linkAttributes' => [ 'title' => 'News', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_administrative_system_news_/'], ], ], ]); $settingsMenu->addChild('Dokumente', [ 'route' => 'app_administrative_system_document_index', 'linkAttributes' => [ 'title' => 'Dokumente', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_administrative_system_document_/'], ], ], ]); $settingsMenu->addChild('Ansprechpersonen', [ 'route' => 'app_admin_system_contact_index', 'linkAttributes' => [ 'title' => 'Ansprechpersonen', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_contact_/'], ], ], ]); $settingsMenu->addChild('Administrative Benutzer:innen', [ 'route' => 'app_admin_system_user_index', 'linkAttributes' => [ 'title' => 'Administrative Benutzer:innen', ], 'extras' => [ 'routes' => [ ['pattern' => '/^app_admin_system_user_/'], ], ], ]); $menu->addChild('Logs', [ 'route' => 'app_admin_log_index', 'linkAttributes' => [ 'title' => 'Logs', ], 'extras' => [ 'icon' => 'list', ], ]); $this->addTeamerItem($menu); $this->addManagerItem($menu); $this->addHouseManagerItem($menu); $this->addLogoutItem($menu); return $menu; } public function createTeamerMenu(array $options): ItemInterface { $menu = $this->createRootElement(); $menu->addChild('Stammdaten & Foto', [ 'route' => 'app_administrative_teamer_profile', 'routeParameters' => $this->getDefaultRouteParameters('uuid'), 'linkAttributes' => [ 'title' => 'Stammdaten & Foto', ], ]); $menu->addChild('Jobprofile, Skills & Status', [ '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_administrative_teamer_recent_assignments', 'routeParameters' => $this->getDefaultRouteParameters('uuid'), 'linkAttributes' => [ 'title' => 'Vergangene Einsätze', ], ]); $menu->addChild('Bevorstehende Einsätze', [ 'route' => 'app_administrative_teamer_upcoming_assignments', 'routeParameters' => $this->getDefaultRouteParameters('uuid'), 'linkAttributes' => [ 'title' => 'Bevorstehende Einsätze', ], ]); $menu->addChild('Anmerkungen (intern)', [ 'route' => 'app_admin_teamer_remarks_internal', 'routeParameters' => $this->getDefaultRouteParameters('uuid'), 'linkAttributes' => [ 'title' => 'Anmerkungen (intern)', ], ]); $this->addDivider($menu); $request = $this->requestStack->getMainRequest(); $menu->addChild('zurück zur Übersicht', [ 'uri' => rawurldecode($request->get('r')), 'extras' => [ 'icon' => 'arrow-left', ], ]); return $menu; } }