*/ class AccompanyingCourseMenuBuilder implements LocalMenuBuilderInterface { protected Security $security; protected TranslatorInterface $translator; public function __construct( Security $security, TranslatorInterface $translator ) { $this->security = $security; $this->translator = $translator; } public function buildMenu($menuId, MenuItem $menu, array $parameters) { $period = $parameters['accompanyingCourse']; if ( AccompanyingPeriod::STEP_DRAFT !== $period->getStep() && $this->security->isGranted(ActivityVoter::SEE, $period) ) { $menu->addChild($this->translator->trans('Activity'), [ 'route' => 'chill_activity_activity_list', 'routeParameters' => [ 'accompanying_period_id' => $period->getId(), ], ]) ->setExtras(['order' => 40]); } } public static function getMenuIds(): array { return ['accompanyingCourse']; } }