WIP: Implement admin CRUD

This commit is contained in:
Björn Fromme
2023-09-26 17:44:01 +02:00
parent 3e0353c79b
commit c55fd85314
63 changed files with 1367 additions and 532 deletions
+45 -50
View File
@@ -6,86 +6,81 @@ use Knp\Menu\ItemInterface;
class TeamerMenuBuilder extends AbstractMenuBuilder
{
public function createHeaderMenu(array $options): ItemInterface
{
$menu = $this->createRootElement('menu menu--header');
$this->addLogoutItem($menu);
return $menu;
}
public function createMainMenu(array $options): ItemInterface
{
$menu = $this->createRootElement('menu menu--main');
$menu = $this->createRootElement();
$menu
->addChild('Einsatzübersicht', ['route' => 'app_teamer_disposition_index'])
->setLinkAttributes([
'title' => 'Einsatzübersicht',
'class' => 'icon-link',
])
->addChild('Einsatzübersicht', ['route' => 'app_teamer_index'])
->setChildrenAttribute('title', 'Einsatzübersicht')
->setExtra('icon', 'calendar')
->setExtra('icon_only', false)
;
$profileMenu = $menu
->addChild('Mein Profil')
->setExtra('icon', 'user')
->setExtra('icon_only', false)
->setLinkAttribute('title', 'Mein Profil')
;
$profileMenu
->addChild('Stammdaten und Foto', ['route' => 'app_teamer_profile_index'])
->setLinkAttributes([
'title' => 'Mein Profil',
])
->setLinkAttribute('title', 'Stammdaten und Foto')
;
$profileMenu
->addChild('Jobprofile & Skills', ['route' => 'app_teamer_profile_skills'])
->setLinkAttributes([
'title' => 'Jobprofile & Skills',
])
->setLinkAttribute('title', 'Jobprofile & Skills')
;
$profileMenu
->addChild('Meine Verfügbarkeit', ['route' => 'app_teamer_profile_availabilities'])
->setLinkAttributes([
'title' => 'Meine Verfügbarkeit',
])
->setLinkAttribute('title', 'Meine Verfügbarkeit')
;
$dispositionMenu = $menu
->addChild('Meine Einsätze')
->setExtra('icon', 'calendar')
->setExtra('icon_only', false)
->setExtra('icon', 'bus')
;
$dispositionMenu
->addChild('Merkliste', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttributes([
'title' => 'Merkliste',
])
->setLinkAttribute('title', 'Merkliste')
;
$dispositionMenu
->addChild('Offene Bewerbungen', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'Offene Bewerbungen')
;
$dispositionMenu
->addChild('Nächste Einsätze', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'Nächste Einsätze')
;
$dispositionMenu
->addChild('Letzte Einsätze', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'Letzte Einsätze')
;
$dispositionMenu
->addChild('Meine Dokumente', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'Meine Dokumente')
;
$dispositionMenu
->addChild('Mein Feedback', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'Mein Feedback')
;
return $menu;
}
public function createMobileMenu(array $options): ItemInterface
{
$menu = $this->createRootElement('menu menu--mobile');
$menu
->addChild('Profil', ['route' => 'app_teamer_profile_index'])
->setLinkAttributes([
'title' => 'Mein Profil',
'class' => 'icon-link',
])
->setExtra('icon', 'user')
->setExtra('icon_only', false)
$faqMenu = $menu
->addChild('FAQ & Kontakt')
->setExtra('icon', 'info')
;
$faqMenu
->addChild('FAQ', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'FAQ')
;
$faqMenu
->addChild('Kontakt', ['route' => 'app_teamer_disposition_watchlist'])
->setLinkAttribute('title', 'Kontakt')
;
$this->addLogoutItem($menu, true);
$this->addDivider($menu);
$this->addAdminItem($menu);
$this->addManagerItem($menu);
$this->addLogoutItem($menu);
return $menu;
}