src/Form/UserType.php line 25

Open in your IDE?
  1. <?php
  2. // src/Form/UserType.php
  3. namespace App\Form;
  4. use App\Entity\User;
  5. use App\Entity\UserShippingLocation;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  10. use Symfony\Component\Form\Extension\Core\Type\FileType;
  11. use Symfony\Component\Form\Extension\Core\Type\TelType;
  12. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  13. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  14. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  15. use Symfony\Component\Form\Extension\Core\Type\TextType;
  16. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  17. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  18. use Symfony\Component\Form\Extension\Core\Type\CollectionType;
  19. use App\Form\Type\PhoneType;
  20. use App\Form\UserLocationType;
  21. class UserType extends AbstractType
  22. {
  23.     public function buildForm(FormBuilderInterface $builder, array $options)
  24.     {
  25.         $builder
  26.             ->add('firstName'TextType::class, array('label' => 'firstName'))
  27.             ->add('lastName'TextType::class, array('label' => 'lastName'))
  28.             ->add('displayName'TextType::class, array('label' => 'userName'))
  29.             ->add('locale'ChoiceType::class, array(
  30.                 'label' => 'language',
  31.                 'choices' => array(
  32.                     'french' => 'fr',
  33.                     'english' => 'en'
  34.                 )
  35.             ))
  36.             ->add('profileImage'FileType::class, array(
  37.                 'mapped' => false,
  38.                 'label' => 'profileImage',
  39.                 'required' => false,
  40.             ))
  41.             ->add('email'EmailType::class)
  42.             ->add('settingsReceiveMessageNotification'CheckboxType::class, array(
  43.                 'label' => 'settingReceiveNotificationMessages',
  44.                 'required' => false,
  45.             ))
  46.             ->add('plainPassword'RepeatedType::class, array(
  47.                 'type' => PasswordType::class,
  48.                 'first_options'  => array('label' => 'newPasswordField''attr' => array('autocomplete' => 'new-password')),
  49.                 'second_options' => array('label' => 'newPasswordConfirmField''attr' => array('autocomplete' => 'new-password')),
  50.                 'required' => false
  51.             ))
  52.             // ->add('shippingAddresses', CollectionType::class, array(
  53.             //     'entry_type' => UserLocationType::class,
  54.             //     'allow_add' => true,
  55.             //     'allow_delete' => true,
  56.             //     'prototype' => true,
  57.             //     'by_reference' => false,
  58.             //     'entry_options' => array('label' => false),
  59.             //     'label' => false
  60.             // ))
  61.             ->add('save'SubmitType::class, array('label' => 'buttonSave''attr' => array('class' => 'btn-primary')));
  62.     }
  63.     public function configureOptions(OptionsResolver $resolver)
  64.     {
  65.         $resolver->setDefaults(array(
  66.             'data_class' => User::class,
  67.         ));
  68.     }
  69. }