WIP: Implement role house manager and feedback providing

This commit is contained in:
Björn Fromme
2023-11-04 18:24:54 +01:00
parent 538d39f63e
commit d5da0d10d5
23 changed files with 576 additions and 37 deletions
+11
View File
@@ -99,6 +99,17 @@ abstract class AbstractMenuBuilder
}
}
protected function addHouseManagerItem(ItemInterface $menu): void
{
if ($this->security->isGranted('ROLE_HOUSE_MANAGER')) {
$menu
->addChild('zum Hausmanagerbereich', ['route' => 'app_house_manager_index'])
->setChildrenAttribute('title', 'zum Hausmanagerbereich')
->setExtra('icon', 'user')
;
}
}
protected function addLogoutItem(ItemInterface $menu): void
{
$token = $this->security->getToken();
+5 -1
View File
@@ -39,7 +39,7 @@ class AdminMenuBuilder extends AbstractMenuBuilder
],
[
'route' => 'app_admin_teamer_index',
'title' => 'Teamer:innenübersicht',
'title' => 'Teamübersicht',
'icon' => 'users',
'hideChildren' => true,
'children' => $this->getTeamerMenuItems(),
@@ -165,6 +165,10 @@ class AdminMenuBuilder extends AbstractMenuBuilder
$this->addDivider($menu);
$this->addHouseManagerItem($menu);
$this->addDivider($menu);
$this->addLogoutItem($menu);
return $menu;
+44
View File
@@ -0,0 +1,44 @@
<?php
namespace App\Menu;
use Knp\Menu\ItemInterface;
class HouseManagerMenuBuilder extends AbstractMenuBuilder
{
public function createMainMenu(array $options): ItemInterface
{
$menuItems = [
[
'route' => 'app_house_manager_index',
'title' => 'Dashboard',
'icon' => 'chart',
],
[
'route' => 'app_house_manager_feedback_index',
'title' => 'Feedback',
'icon' => 'feedback',
'hideChildren' => true,
'children' => [
[
'route' => 'app_house_manager_feedback_provide',
'title' => 'Feedback abgeben',
'routeParameters' => $this->getDefaultRouteParameters('uuid'),
]
],
],
];
$menu = $this->createMenu($menuItems);
$this->addDivider($menu);
$this->addAdminItem($menu);
$this->addDivider($menu);
$this->addLogoutItem($menu);
return $menu;
}
}