processConfiguration($configuration, $configs); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config')); $loader->load('services.yaml'); $loader->load('services/security.yaml'); $loader->load('services/fixtures.yaml'); $loader->load('services/forms.yaml'); $loader->load('services/repositories.yaml'); $loader->load('services/search.yaml'); $loader->load('services/timeline.yaml'); $loader->load('services/export.yaml'); } /** (non-PHPdoc). * @see \Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface::prepend() */ public function prepend(ContainerBuilder $container): void { $this->prependAuthorization($container); $this->prependCruds($container); $this->prependRoute($container); } /** * add authorization hierarchy. */ protected function prependAuthorization(ContainerBuilder $container): void { $container->prependExtensionConfig('security', [ 'role_hierarchy' => [ EventVoter::SEE_DETAILS => [EventVoter::SEE], EventVoter::UPDATE => [EventVoter::SEE_DETAILS], EventVoter::CREATE => [EventVoter::SEE_DETAILS], ParticipationVoter::SEE_DETAILS => [ParticipationVoter::SEE], ParticipationVoter::UPDATE => [ParticipationVoter::SEE_DETAILS], ], ]); } /** * add route to route loader for chill. */ protected function prependRoute(ContainerBuilder $container): void { // add routes for custom bundle $container->prependExtensionConfig('chill_main', [ 'routing' => [ 'resources' => [ '@ChillEventBundle/config/routes.yaml', ], ], ]); } protected function prependCruds(ContainerBuilder $container): void { $container->prependExtensionConfig('chill_main', [ 'cruds' => [ [ 'class' => EventTheme::class, 'name' => 'event_theme', 'base_path' => '/admin/event/theme', 'form_class' => EventThemeType::class, 'controller' => EventThemeController::class, 'actions' => [ 'index' => [ 'template' => '@ChillEvent/Admin/EventTheme/index.html.twig', 'role' => 'ROLE_ADMIN', ], 'new' => [ 'role' => 'ROLE_ADMIN', 'template' => '@ChillEvent/Admin/EventTheme/new.html.twig', ], 'edit' => [ 'role' => 'ROLE_ADMIN', 'template' => '@ChillEvent/Admin/EventTheme/edit.html.twig', ], ], ], [ 'class' => EventBudgetKind::class, 'name' => 'event_budget_kind', 'base_path' => '/admin/event/budget', 'form_class' => EventBudgetKindType::class, 'controller' => EventBudgetKindController::class, 'actions' => [ 'index' => [ 'template' => '@ChillEvent/Admin/BudgetKind/index.html.twig', 'role' => 'ROLE_ADMIN', ], 'new' => [ 'role' => 'ROLE_ADMIN', 'template' => '@ChillEvent/Admin/BudgetKind/new.html.twig', ], 'edit' => [ 'role' => 'ROLE_ADMIN', 'template' => '@ChillEvent/Admin/BudgetKind/edit.html.twig', ], ], ], ], ]); } }