Exemplo n.º 1
0
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     /** @var \Doctrine\Orm\EntityManager $manager */
     $manager = $options['manager'];
     $query = $manager->createQuery('SELECT c FROM AppBundle:Category c ORDER BY c.name');
     $query->setHint(\Doctrine\ORM\Query::HINT_CUSTOM_OUTPUT_WALKER, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker');
     $query->setHint(\Gedmo\Translatable\TranslatableListener::HINT_TRANSLATABLE_LOCALE, $options['locale']);
     $categories = [];
     $musicCategories = [];
     foreach ($query->getResult() as $category) {
         if (get_class($category) == 'AppBundle\\Entity\\GeneralCategory') {
             $categories[] = $category;
         } elseif (get_class($category) == 'AppBundle\\Entity\\MusicCategory') {
             $musicCategories[] = $category;
         }
     }
     $user = $builder->getData();
     $builder->add('firstName', 'text', ['label' => 'user.form.first_name'])->add('lastName', 'text', ['label' => 'user.form.last_name'])->add('wantToLearn', 'boolean_choice', ['expanded' => true, 'label' => 'user.form.want_to_learn', 'choices' => ['user.form.want_to_learn.choice.learn' => '1', 'user.form.want_to_learn.choice.teach' => '0'], 'choices_as_values' => true, 'data' => !$user->hasRole('ROLE_COMPLETE_USER') ? null : $user->getWantToLearn()])->add('categories', 'entity', ['class' => 'AppBundle:GeneralCategory', 'multiple' => true, 'expanded' => true, 'choice_list' => new ArrayChoiceList($categories), 'property' => 'name', 'label' => 'user.form.categories'])->add('musicCategories', 'entity', ['class' => 'AppBundle:MusicCategory', 'multiple' => true, 'expanded' => true, 'choice_list' => new ArrayChoiceList($musicCategories), 'property' => 'name'])->add('age', 'choice', ['label' => 'user.form.age', 'empty_data' => null, 'required' => false, 'choices' => array_combine(range(18, 100), range(18, 100))])->add('gender', 'choice', ['expanded' => true, 'label' => 'user.form.gender', 'choices' => ['M' => 'user.form.gender.m', 'F' => 'user.form.gender.f', 'X' => 'user.form.gender.x']])->add('about', 'textarea', ['label' => 'user.form.about'])->add('from', 'choice', ['label' => 'user.form.from', 'choices' => Countries::getList(), 'empty_data' => null, 'empty_value' => ''])->add('hasChildren', 'choice', ['expanded' => true, 'label' => 'user.form.has_children', 'choices' => [true => 'yes', false => 'no'], 'choice_value' => function ($currentChoiceKey) {
         return $currentChoiceKey ? 'true' : 'false';
     }])->add('profilePicture', 'hidden')->add('musicFriend', 'boolean_choice', ['expanded' => true, 'label' => 'user.form.fikatype', 'choices' => ['user.form.fikatype.fikafriend' => '0', 'user.form.fikatype.musicfriend' => '1'], 'choices_as_values' => true, 'data' => !$user->hasRole('ROLE_COMPLETE_USER') ? null : $user->isMusicFriend()])->add('municipality', 'entity', ['class' => 'AppBundle:Municipality', 'property' => 'name', 'empty_data' => null, 'required' => false, 'label' => 'user.form.municipality']);
     $user = $builder->getData();
     if (!$user->hasRole('ROLE_COMPLETE_USER')) {
         $builder->add('city', 'entity', ['label' => 'user.form.city', 'class' => 'AppBundle:City', 'query_builder' => function (EntityRepository $er) {
             return $er->createQueryBuilder('c')->orderBy('c.name', 'ASC');
         }, 'property' => 'name', 'mapped' => false, 'empty_value' => '']);
     }
 }
Exemplo n.º 2
0
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('firstName', 'text', ['label' => 'Förnamn'])->add('lastName', 'text', ['label' => 'Efternamn'])->add('wantToLearn', 'choice', ['expanded' => true, 'label' => 'Vill du', 'choices' => [true => 'Förbättra din svenska', false => 'Hjälpa någon att förbättra sin svenska'], 'choice_value' => function ($currentChoiceKey) {
         return $currentChoiceKey ? 'true' : 'false';
     }])->add('categories', 'entity', ['class' => 'AppBundle:Category', 'multiple' => true, 'expanded' => true, 'query_builder' => function (EntityRepository $er) {
         return $er->createQueryBuilder('c')->orderBy('c.name', 'ASC');
     }, 'property' => 'name', 'label' => 'Vilka är dina intressen?'])->add('age', 'choice', ['label' => 'Ålder', 'choices' => array_combine(range(18, 100), range(18, 100))])->add('gender', 'choice', ['expanded' => true, 'label' => 'Kön', 'choices' => ['M' => 'Man', 'F' => 'Kvinna', 'X' => 'Vill inte ange']])->add('about', 'textarea', ['label' => 'Berätta om dig själv'])->add('from', 'choice', ['label' => 'Vilket land kommer du ifrån?', 'choices' => Countries::getList()])->add('profilePicture', 'hidden');
     $user = $builder->getData();
     if (!$user->hasRole('ROLE_COMPLETE_USER')) {
         $builder->add('city', 'entity', ['label' => 'Här vill jag fika', 'class' => 'AppBundle:City', 'query_builder' => function (EntityRepository $er) {
             return $er->createQueryBuilder('c')->orderBy('c.name', 'ASC');
         }, 'property' => 'name', 'mapped' => false]);
     }
 }
Exemplo n.º 3
0
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     /** @var \Doctrine\Orm\EntityManager $manager */
     $manager = $options['manager'];
     $query = $manager->createQuery('SELECT c FROM AppBundle:Category c ORDER BY c.name');
     $query->setHint(\Doctrine\ORM\Query::HINT_CUSTOM_OUTPUT_WALKER, 'Gedmo\\Translatable\\Query\\TreeWalker\\TranslationWalker');
     $query->setHint(\Gedmo\Translatable\TranslatableListener::HINT_TRANSLATABLE_LOCALE, $options['locale']);
     $categories = $query->getResult();
     $builder->add('firstName', 'text', ['label' => 'user.form.first_name'])->add('lastName', 'text', ['label' => 'user.form.last_name'])->add('wantToLearn', 'choice', ['expanded' => true, 'label' => 'user.form.want_to_learn', 'choices' => [true => 'user.form.want_to_learn.choice.learn', false => 'user.form.want_to_learn.choice.teach'], 'choice_value' => function ($currentChoiceKey) {
         return $currentChoiceKey ? 'true' : 'false';
     }])->add('categories', 'entity', ['class' => 'AppBundle:Category', 'multiple' => true, 'expanded' => true, 'choice_list' => new ArrayChoiceList($categories), 'property' => 'name', 'label' => 'user.form.categories'])->add('age', 'choice', ['label' => 'user.form.age', 'choices' => array_combine(range(18, 100), range(18, 100))])->add('gender', 'choice', ['expanded' => true, 'label' => 'user.form.gender', 'choices' => ['M' => 'user.form.gender.m', 'F' => 'user.form.gender.f', 'X' => 'user.form.gender.x']])->add('about', 'textarea', ['label' => 'user.form.about'])->add('from', 'choice', ['label' => 'user.form.from', 'choices' => Countries::getList()])->add('district', 'text', ['label' => 'user.form.district'])->add('profilePicture', 'hidden');
     $user = $builder->getData();
     if (!$user->hasRole('ROLE_COMPLETE_USER')) {
         $builder->add('city', 'entity', ['label' => 'user.form.city', 'class' => 'AppBundle:City', 'query_builder' => function (EntityRepository $er) {
             return $er->createQueryBuilder('c')->orderBy('c.name', 'ASC');
         }, 'property' => 'name', 'mapped' => false]);
     }
 }
Exemplo n.º 4
0
 /**
  * @param string $countryCode
  *
  * @return string
  */
 public function countryName($countryCode)
 {
     return Countries::getName($countryCode);
 }