showAccompanyingPeriod = $parameterBag->get('chill_person.accompanying_period'); $this->security = $security; $this->translator = $translator; } public function buildMenu($menuId, MenuItem $menu, array $parameters) { $menu->addChild($this->translator->trans('Person details'), [ 'route' => 'chill_person_view', 'routeParameters' => [ 'person_id' => $parameters['person']->getId(), ], ]) ->setExtras([ 'order' => 50, ]); $menu->addChild($this->translator->trans('household.person history'), [ 'route' => 'chill_person_household_person_history', 'routeParameters' => [ 'person_id' => $parameters['person']->getId(), ], ]) ->setExtras([ 'order' => 99999, ]); $menu->addChild($this->translator->trans('Person duplicate'), [ 'route' => 'chill_person_duplicate_view', 'routeParameters' => [ 'person_id' => $parameters['person']->getId(), ], ]) ->setExtras([ 'order' => 99999, ]); if ( 'visible' === $this->showAccompanyingPeriod && $this->security->isGranted(AccompanyingPeriodVoter::SEE, $parameters['person']) ) { $menu->addChild($this->translator->trans('Accompanying period list'), [ 'route' => 'chill_person_accompanying_period_list', 'routeParameters' => [ 'person_id' => $parameters['person']->getId(), ], ]) ->setExtras([ 'order' => 100, ]); } $menu->addChild($this->translator->trans('person_resources_menu'), [ 'route' => 'chill_person_resource_list', 'routeParameters' => [ 'person_id' => $parameters['person']->getId(), ], ]) ->setExtras([ 'order' => 99999, ]); } public static function getMenuIds(): array { return ['person']; } }