getToken()->getUser() instanceof User) { throw new \RuntimeException("you should have a valid user"); } $this->user = $tokenStorage->getToken()->getUser(); $this->authorizationHelper = $authorizationHelper; $this->om = $om; $this->translatableStringHelper = $translatableStringHelper; } public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('title') ->add('description') ->add('content') //->add('center') ->add('scope') ->add('date', 'date', array('required' => false, 'widget' => 'single_text', 'format' => 'dd-MM-yyyy')) ->add('category', EntityType::class, array( 'class' => 'ChillDocStoreBundle:DocumentCategory', 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('c') ->where('c.documentClass = :docClass') ->setParameter('docClass', PersonDocument::class); }, 'choice_label' => function ($entity = null) { return $entity ? $this->translatableStringHelper->localize($entity->getName()) : ''; }, )) ; $this->appendScopeChoices($builder, $options['role'], $options['center'], $this->user, $this->authorizationHelper, $this->translatableStringHelper, $this->om); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Document::class, ]); $this->appendScopeChoicesOptions($resolver); } }