Menu entry added in PersonMenuBuilder of taskbundle. Removed from menubuilder in Personbundle. Rename file, PersonMenuBuilder to MenuBuilder?

This commit is contained in:
Julie Lenaerts 2021-09-15 11:13:09 +02:00
parent b28b4e5fba
commit b1dbd8b011
2 changed files with 38 additions and 18 deletions

View File

@ -67,13 +67,6 @@ class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface
'id' => $period->getId()
]])
->setExtras(['order' => 40]);
$menu->addChild($this->translator->trans('Tasks'), [
'route' => 'chill_task_singletask_list',
'routeParameters' => [
'course_id' => $period->getId()
]])
->setExtras(['order' => 50]);
}

View File

@ -53,28 +53,55 @@ class PersonMenuBuilder implements LocalMenuBuilderInterface
public function buildMenu($menuId, MenuItem $menu, array $parameters)
{
/* @var $person \Chill\PersonBundle\Entity\Person */
switch($menuId) {
case 'person':
$this->buildPersonMenu($menu, $parameters);
break;
case 'accompanyingCourse':
$this->buildAccompanyingCourseMenu($menu, $parameters);
break;
case 'section':
$menu->setExtras('icons', 'tasks');
break;
default:
throw new \LogicException("this menuid $menuId is not implemented");
}
}
public function buildPersonMenu($menu, $parameters){
//var $person \Chill\PersonBundle\Entity\Person */
$person = $parameters['person'] ?? null;
if ($this->authorizationChecker->isGranted(TaskVoter::SHOW, $person)) {
$menu->addChild(
$this->translator->trans('Tasks'), [
'route' => 'chill_task_singletask_list',
'routeParameters' => $menuId === 'person' ?
'routeParameters' =>
[ 'person_id' => $person->getId() ]
:
null,
])
->setExtra('order', 400)
;
if ($menuId === 'section') {
$menu->setExtra('icons', 'tasks');
}
])
->setExtra('order', 400);
}
}
public function buildAccompanyingCourseMenu($menu, $parameters){
//var $person \Chill\PersonBundle\Entity\Person */
$course = $parameters['accompanyingCourse'];
// if ($this->authorizationChecker->isGranted(TaskVoter::SHOW, $course)) {
$menu->addChild(
$this->translator->trans('Tasks'), [
'route' => 'chill_task_singletask_list',
'routeParameters' =>
[ 'course_id' => $course->getId() ]
])
->setExtra('order', 400);
// }
}
public static function getMenuIds(): array
{
return ['person'];
return ['person', 'accompanyingCourse'];
}
}