processConfiguration($configuration, $configs); $container->setParameter('chill_doc_store', $config); $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../config')); $loader->load('services.yaml'); $loader->load('services/controller.yaml'); $loader->load('services/menu.yaml'); $loader->load('services/fixtures.yaml'); $loader->load('services/form.yaml'); $loader->load('services/templating.yaml'); $loader->load('services/voter.yaml'); } public function prepend(ContainerBuilder $container) { $this->prependRoute($container); $this->prependAuthorization($container); $this->prependTwig($container); $this->prependApis($container); } protected function prependApis(ContainerBuilder $container) { $container->prependExtensionConfig('chill_main', [ 'apis' => [ [ 'class' => \Chill\DocStoreBundle\Entity\StoredObject::class, 'controller' => StoredObjectApiController::class, 'name' => 'stored_object', 'base_path' => '/api/1.0/docstore/stored-object', 'base_role' => 'ROLE_USER', 'actions' => [ '_entity' => [ 'methods' => [ Request::METHOD_POST => true, ], ], ], ], ], ]); } protected function prependAuthorization(ContainerBuilder $container) { $container->prependExtensionConfig('security', [ 'role_hierarchy' => [ PersonDocumentVoter::UPDATE => [PersonDocumentVoter::SEE_DETAILS], PersonDocumentVoter::CREATE => [PersonDocumentVoter::SEE_DETAILS], PersonDocumentVoter::DELETE => [PersonDocumentVoter::SEE_DETAILS], PersonDocumentVoter::SEE_DETAILS => [PersonDocumentVoter::SEE], AccompanyingCourseDocumentVoter::UPDATE => [AccompanyingCourseDocumentVoter::SEE_DETAILS], AccompanyingCourseDocumentVoter::CREATE => [AccompanyingCourseDocumentVoter::SEE_DETAILS], AccompanyingCourseDocumentVoter::DELETE => [AccompanyingCourseDocumentVoter::SEE_DETAILS], AccompanyingCourseDocumentVoter::SEE_DETAILS => [AccompanyingCourseDocumentVoter::SEE], ], ]); } protected function prependRoute(ContainerBuilder $container) { // declare routes for task bundle $container->prependExtensionConfig('chill_main', [ 'routing' => [ 'resources' => [ '@ChillDocStoreBundle/config/routes.yaml', ], ], ]); } protected function prependTwig(ContainerBuilder $container) { $twigConfig = [ 'form_themes' => ['@ChillDocStore/Form/fields.html.twig'], ]; $container->prependExtensionConfig('twig', $twigConfig); } }