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
+93 -14
View File
@@ -6,25 +6,104 @@ use Knp\Menu\ItemInterface;
class AdminMenuBuilder extends AbstractMenuBuilder
{
public function createHeaderMenu(array $options): ItemInterface
{
$menu = $this->createRootElement();
$this->addLogoutItem($menu);
return $menu;
}
public function createMainMenu(array $options): ItemInterface
{
$menu = $this->createRootElement();
return $menu;
}
$menu
->addChild('Dashboard', ['route' => 'app_admin_index'])
->setChildrenAttribute('title', 'Dashboard')
->setExtra('icon', 'lab')
;
public function createMobileMenu(array $options): ItemInterface
{
$menu = $this->createRootElement(true);
$this->addLogoutItem($menu, true);
$menu
->addChild('Einsatzübersicht', ['route' => 'app_admin_index'])
->setChildrenAttribute('title', 'Einsatzübersicht')
->setExtra('icon', 'calendar')
;
$menu
->addChild('Bewerbungsübersicht', ['route' => 'app_admin_index'])
->setChildrenAttribute('title', 'Bewerbungsübersicht')
->setExtra('icon', 'mail')
;
$menu
->addChild('Dokumentenübersicht', ['route' => 'app_admin_index'])
->setChildrenAttribute('title', 'Dokumentenübersicht')
->setExtra('icon', 'document')
;
$menu
->addChild('Teamerübersicht', ['route' => 'app_admin_teamer_index'])
->setChildrenAttribute('title', 'Teamerübersicht')
->setExtra('icon', 'users')
;
$systemMenu = $menu
->addChild('Einstellungen')
->setExtra('icon', 'settings')
;
$feeMenu = $systemMenu
->addChild('Honorare', [
'route' => 'app_admin_system_fee_index',
'linkAttributes' => [
'title' => 'Honorare',
],
'displayChildren' => false,
])
;
$feeMenu
->addChild('Honorar anlegen', [
'route' => 'app_admin_system_fee_create',
])
;
$feeMenu
->addChild('Honorar bearbeiten', [
'route' => 'app_admin_system_fee_edit',
'routeParameters' => $this->getDefaultRouteParameters(),
])
;
$trainingMenu = $systemMenu
->addChild('Fortbildungen', [
'route' => 'app_admin_system_training_index',
'linkAttributes' => [
'title' => 'Fortbildungen',
],
'displayChildren' => false,
])
;
$trainingMenu
->addChild('Fortbildung anlegen', [
'route' => 'app_admin_system_training_create',
])
;
$trainingMenu
->addChild('Fortbildung bearbeiten', [
'route' => 'app_admin_system_training_edit',
'routeParameters' => $this->getDefaultRouteParameters(),
])
;
$jobProfileMenu = $systemMenu
->addChild('Job-Profile', [
'route' => 'app_admin_system_job_profile_index',
'linkAttributes' => [
'title' => 'Fortbildungen',
],
'displayChildren' => false,
])
;
$jobProfileMenu
->addChild('Job-Profil anlegen', [
'route' => 'app_admin_system_job_profile_create',
])
;
$this->addDivider($menu);
$this->addManagerItem($menu);
$this->addTeamerItem($menu);
$this->addLogoutItem($menu);
return $menu;
}