src/Form/DfGeneralisteType.php line 27

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\DfGeneraliste;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  9. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  10. use Symfony\Component\Form\Extension\Core\Type\TelType;
  11. use Symfony\Component\Form\Extension\Core\Type\TextType;
  12. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  13. use Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension;
  14. use Symfony\Component\Form\FormBuilderInterface;
  15. use Symfony\Component\OptionsResolver\OptionsResolver;
  16. use Symfony\Component\Form\Extension\Core\Type\TimeType;
  17. use Symfony\Component\Validator\Constraints as Assert;
  18. use Symfony\Component\Validator\Constraints\NotBlank
  19. use function PHPSTORM_META\type;
  20. class DfGeneralisteType extends AbstractType
  21. {
  22.     public function buildForm(FormBuilderInterface $builder, array $options): void
  23.     {
  24.         $builder
  25.         ->add('Specialite'ChoiceType::class, [
  26.             'label' => "Spécialité",
  27.             'mapped' => false,
  28.             'choices'  => [
  29.             'Allergologie' => 'Allergologie',
  30.             'Anatomie Pathologyque' => 'Anatomie Pathologyque',
  31.             'Andrologie' => 'Andrologie',
  32.             'Anesthésiologie' => 'Anesthésiologie',
  33.             'Cardiologie' => 'Cardiologie',
  34.             'Dermatologie' => 'Dermatologie',
  35.             'Endocrinologie' => 'Endocrinologie',
  36.             'Gastro-entérologie' => 'Gastro-entérologie',
  37.             'Gériatrie' => 'Gériatrie',
  38.             'Gynécologie' => 'Gynécologie',
  39.             'Hématologie' => 'Hématologie',
  40.             'Hépatologie' => 'Hépatologie',
  41.             'Immunologie' => 'Immunologie',
  42.             'Infectiologie' => 'Infectiologie',
  43.             'Médecine Générale' => 'Médecine Générale',
  44.             'Médecine Interne' => 'Médecine Interne',
  45.             'Médecine physique et de réadaptation' => 'Médecine physique et de réadaptation',
  46.             'Néonatologie.' => 'Néonatologie',
  47.             'Néphrologie' => 'Néphrologie',
  48.             'Neurologie' => 'Neurologie',
  49.             'Obstétrique' => 'Obstétrique',
  50.             'Odontologie' => 'Odontologie',
  51.             'Oncologie' => 'Oncologie',
  52.             'Ophtalmologie' => 'Ophtalmologie',
  53.             'Orthopédie' => 'Orthopédie',
  54.             'Pédiatrie' => 'Pédiatrie',
  55.             'Pneumologie' => 'Pneumologie',
  56.             'Podologie' => 'Podologie',
  57.             'Psychiatrie' => 'Psychiatrie',
  58.             'Radiologie' => 'Radiologie',
  59.             'Radiothérapie' => 'Radiothérapie',
  60.             'Rhumatologie' => 'Rhumatologie',
  61.             'Urologie' => 'Urologie',
  62.             
  63.             
  64.         ],
  65.         ])
  66.             ->add('nomMedecinFr'TextType::class, array(
  67.                 'required' => false,
  68.                 'label' => 'Nom Médecin Fr',
  69.                              
  70.                 'attr' => array(
  71.                     'placeholder' => 'nom et prénom'
  72.                 ),
  73.                 
  74.                 ))
  75.             ->add('nomMedcinAr'TextType::class, array(
  76.                 'required' => false,
  77.                 'label' => 'Nom Médecin Ar',
  78.                 'constraints' => [new NotBlank(['message' => 'Ce champ est obligatoire !'])], 
  79.               
  80.                 'attr' => array(
  81.                     'placeholder' => "الإسم و اللقب"
  82.                     )))
  83.             ->add('longitude'TextType::class)
  84.             ->add('latitude'TextType::class)
  85.             //->add('role', ChoiceType::class, array(
  86.             //    'choices' => [
  87.             //        'ROLE_ADMIN' => "ROLE_ADMIN"
  88.             //    ]))
  89.             ->add('experience'ChoiceType::class, [
  90.                 'choices'  => [
  91.                     '0 - 5 ans ' => 'Débutant',
  92.                     '5 - 10 ans' => 'Moyen',
  93.                     '+10 ans' => 'Expert',
  94.                 ],
  95.                 ])
  96.             ->add('prix_consultation'TextType::class,  array(
  97.                 'attr' => array(
  98.                     'placeholder' => '2000'
  99.                 )))
  100.             ->add('sexe'ChoiceType::class, [
  101.                 'choices'  => [
  102.                     'Homme' => 'Homme',
  103.                     'Femme' => 'Femme',
  104.                 ],
  105.             ])
  106.             ->add('telephone1'TelType::class,  array(
  107.                 'attr' => array(
  108.                     'placeholder' => '021 54 67 88'
  109.                 )))
  110.             ->add('telephone2'TelType::class,  array(
  111.                 'required' => false,
  112.                 'attr' => array(
  113.                     'placeholder' => '021 54 67 89',
  114.    
  115.                 )))
  116.             ->add('telephone3'TelType::class,  array(
  117.                 'required' => false,
  118.                 'attr' => array(
  119.                     'placeholder' => '021 54 67 90',
  120.                
  121.                 )))
  122.             ->add('email'EmailType::class, array(
  123.                 'attr' => array(
  124.                     'placeholder' => 'nom@exemple.com'
  125.                 )))
  126.             //->add('password', PasswordType::class)
  127.             ->add('password'RepeatedType::class, [
  128.                 'type' => PasswordType::class,
  129.                 'invalid_message' => 'The password fields must match.',
  130.                 'options' => ['attr' => ['class' => 'password-field']],
  131.                 'required' => true,
  132.                 'first_name' => 'pass',
  133.                 'second_name' => 'confirm',
  134.                 'first_options'  => ['label' => 'Mot de passe'],
  135.                 'second_options' => ['label' => 'Confirmation Mot de passe'],
  136.             ])
  137.             ->add('vendrediTravail'TextType::class)
  138.             //->add('vendrediTravailSoir', TextType::class)
  139.             ->add('samediTravail'TextType::class)
  140.             //->add('samediTravailSoir', TextType::class)
  141.             ->add('dimancheTravail'TextType::class)
  142.             //->add('dimancheTravailSoir', TextType::class)
  143.             ->add('lundiTravail'TextType::class)
  144.             //->add('lundiTravailSoir', TextType::class)
  145.             ->add('mardiTravail'TextType::class)
  146.             //->add('mardiTravailSoir', TextType::class)
  147.             ->add('mercrediTravail'TextType::class)
  148.             //->add('mercrediTravailSoir', TextType::class)
  149.             ->add('jeudiTravail'TextType::class)
  150.             //->add('jeudiTravailSoir', TextType::class)
  151.             ->add('avecRDV',  CheckboxType::class, array(
  152.                 //'label_attr' => ['class' => 'switch-custom'],
  153.                 'required' => false,
  154.                 'data' => true,
  155.                 'label' => 'Activer la prise de rendez-vous en ligne '))
  156.             
  157.             ->add('region'TextareaType::class, array(
  158.                 'attr' => array(
  159.                     'placeholder' => 'Nom de rue, Numéro Bloc, Code Postal, Commune, Ville, Pays',
  160.                     "row" => 7
  161.                 )))
  162.             ->add('regionAr'TextareaType::class, array(
  163.                     'attr' => array(
  164.                         'placeholder' => 'إسم الشارع، رقم العمارة، الكود البريدي، إسم البلدية، الولاية، البلد',
  165.                         "row" => 7
  166.                     )))
  167.             
  168.                     ->add('ReposSamedi'CheckboxType::class, [
  169.                         'mapped' => false,
  170.                         'label'    => ' ',
  171.                         'required' => false,
  172.                     ])
  173.             
  174.                     ->add('SamedistartTime'TimeType::class, [
  175.                         'mapped' => false,
  176.                         'input'  => 'datetime',
  177.                         'widget' => 'choice',
  178.                         'minutes' => [0153045],
  179.                         'hours' => [67891011],
  180.                     ])
  181.             
  182.                    
  183.                     ->add('SamediendTime'TimeType::class, [
  184.                         'mapped' => false,
  185.                         'input'  => 'datetime',
  186.                         'widget' => 'choice',
  187.                         'minutes' => [0153045],
  188.                         'hours' => [151617181920],
  189.                     ])
  190.             
  191.                     ->add('ReposDimanche'CheckboxType::class, [
  192.                         'mapped' => false,
  193.                         'label'    => ' ',
  194.                         'required' => false,
  195.                     ])
  196.             
  197.                     ->add('DimanchestartTime'TimeType::class, [
  198.                         'mapped' => false,
  199.                         'input'  => 'datetime',
  200.                         'widget' => 'choice',
  201.                         'minutes' => [0153045],
  202.                         'hours' => [67891011],
  203.                     ])
  204.             
  205.                    
  206.                     ->add('DimancheendTime'TimeType::class, [
  207.                         'mapped' => false,
  208.                         'input'  => 'datetime',
  209.                         'widget' => 'choice',
  210.                         'minutes' => [0153045],
  211.                         'hours' => [151617181920],
  212.                     ])
  213.             
  214.                     ->add('ReposLundi'CheckboxType::class, [
  215.                         'mapped' => false,
  216.                         'label'    => ' ',
  217.                         'required' => false,
  218.                     ])
  219.             
  220.             
  221.                     ->add('LundistartTime'TimeType::class, [
  222.                         'mapped' => false,
  223.                         'input'  => 'datetime',
  224.                         'widget' => 'choice',
  225.                         'minutes' => [0153045],
  226.                         'hours' => [67891011],
  227.                     ])
  228.             
  229.                    
  230.                     ->add('LundiendTime'TimeType::class, [
  231.                         'mapped' => false,
  232.                         'input'  => 'datetime',
  233.                         'widget' => 'choice',
  234.                         'minutes' => [0153045],
  235.                         'hours' => [151617181920],
  236.                     ])
  237.             
  238.                     ->add('ReposMardi'CheckboxType::class, [
  239.                         'mapped' => false,
  240.                         'label'    => ' ',
  241.                         'required' => false,
  242.                     ])
  243.             
  244.                     ->add('MardistartTime'TimeType::class, [
  245.                         'mapped' => false,
  246.                         'input'  => 'datetime',
  247.                         'widget' => 'choice',
  248.                         'minutes' => [0153045],
  249.                         'hours' => [67891011],
  250.                     ])
  251.             
  252.                    
  253.                     ->add('MardiendTime'TimeType::class, [
  254.                         'mapped' => false,
  255.                         'input'  => 'datetime',
  256.                         'widget' => 'choice',
  257.                         'minutes' => [0153045],
  258.                         'hours' => [151617181920],
  259.                     ])
  260.             
  261.                     ->add('ReposMercredi'CheckboxType::class, [
  262.                         'mapped' => false,
  263.                         'label'    => ' ',
  264.                         'required' => false,
  265.                     ])
  266.             
  267.                     ->add('MercredistartTime'TimeType::class, [
  268.                         'mapped' => false,
  269.                         'input'  => 'datetime',
  270.                         'widget' => 'choice',
  271.                         'minutes' => [0153045],
  272.                         'hours' => [67891011],
  273.                     ])
  274.             
  275.                    
  276.                     ->add('MercrediendTime'TimeType::class, [
  277.                         'mapped' => false,
  278.                         'input'  => 'datetime',
  279.                         'widget' => 'choice',
  280.                         'minutes' => [0153045],
  281.                         'hours' => [151617181920],
  282.                     ])
  283.             
  284.                     ->add('ReposJeudi'CheckboxType::class, [
  285.                         'mapped' => false,
  286.                         'label'    => ' ',
  287.                         'required' => false,
  288.                     ])
  289.             
  290.             
  291.                     ->add('JeudistartTime'TimeType::class, [
  292.                         'mapped' => false,
  293.                         'input'  => 'datetime',
  294.                         'widget' => 'choice',
  295.                         'minutes' => [0153045],
  296.                         'hours' => [67891011],
  297.                     ])
  298.             
  299.                    
  300.                     ->add('JeudiendTime'TimeType::class, [
  301.                         'mapped' => false,
  302.                         'input'  => 'datetime',
  303.                         'widget' => 'choice',
  304.                         'minutes' => [0153045],
  305.                         'hours' => [151617181920],
  306.                     ])
  307.             
  308.             
  309.                     ->add('ReposVendredi'CheckboxType::class, [
  310.                         'mapped' => false,
  311.                         'label'    => ' ',
  312.                         'required' => false,
  313.                     ])
  314.             
  315.             
  316.                     ->add('VendredistartTime'TimeType::class, [
  317.                         'mapped' => false,
  318.                         'input'  => 'datetime',
  319.                         'widget' => 'choice',
  320.                         'minutes' => [0153045],
  321.                         'hours' => [67891011],
  322.                     ])
  323.             
  324.                    
  325.                     ->add('VendrediendTime'TimeType::class, [
  326.                         'mapped' => false,
  327.                         'input'  => 'datetime',
  328.                         'widget' => 'choice',
  329.                         'minutes' => [0153045],
  330.                         'hours' => [151617181920],
  331.                     ]);
  332.             
  333.             /*->add('region', ChoiceType::class, [
  334.                 'choices'  => [
  335.                 'Adrar' => 'Adrar',
  336.                 'Chlef' => 'Chlef',
  337.                 'Laghouat' => 'Laghouat',
  338.                 'Oum El Bouaghi' => 'Oum El Bouaghi',
  339.                 'Batna' => 'Batna',
  340.                 'Bejaia' => 'Bejaia',
  341.                 'Biskra' => 'Biskra',
  342.                 'Bechar' => 'Bechar',
  343.                 'Blida' => 'Blida',
  344.                 'Bouira' => 'Bouira',
  345.                 'Tamanrasset' => 'Tamanrasset',
  346.                 'Tebessa' => 'Tebessa',
  347.                 'Tlemcen' => 'Tlemcen',
  348.                 'Tiaret' => 'Tiaret',
  349.                 'Tizi Ouzou' => 'Tizi Ouzou',
  350.                 'Algiers' => 'Algiers',
  351.                 'Djelfa' => 'Djelfa',
  352.                 'Jijel' => 'Jijel',
  353.                 'Setif' => 'Setif',
  354.                 'Saïda' => 'Saïda',
  355.                 'Skikda' => 'Skikda',
  356.                 'Sidi Bel Abbes' => 'Sidi Bel Abbes',
  357.                 'Annaba' => 'Annaba',
  358.                 'Guelma' => 'Guelma',
  359.                 'Constantine' => 'Constantine',
  360.                 'Medea' => 'Medea',
  361.                 'Mostaganem' => 'Mostaganem',
  362.                 'Msila' => 'Msila',
  363.                 'Mascara' => 'Mascara',
  364.                 'Ouargla' => 'Ouargla',
  365.                 'Oran' => 'Oran',
  366.                 'El Bayadh' => 'El Bayadh',
  367.                 'Illizi' => 'Illizi',
  368.                 'Bordj Bou Arreridj ' => 'Bordj Bou Arreridj ',
  369.                 'Boumerdes' => 'Boumerdes',
  370.                 'El Taref ' => 'El Taref ',
  371.                 'Tindouf' => 'Tindouf',
  372.                 'Tissemsilt' => 'Tissemsilt',
  373.                 'El Oued' => 'El Oued',
  374.                 'Khenchela' => 'Khenchela',
  375.                 'Souk Ahras' => 'Souk Ahras',
  376.                 'Tipaza' => 'Tipaza',
  377.                 'Mila' => 'Mila',
  378.                 'Aïn Defla' => 'Aïn Defla',
  379.                 'Naama' => 'Naama',
  380.                 'Aïn Temouchent' => 'Aïn Temouchent',
  381.                 'Ghardaia' => 'Ghardaia',
  382.                 'Relizane' => 'Relizane',
  383.                 'Timimoun' => 'Timimoun',
  384.                 'Bordj Badji Mokhtar ' => 'Bordj Badji Mokhtar ',
  385.                 'Ouled  Djellal' => 'Ouled  Djellal',
  386.                 'Béni Abbès' => 'Béni Abbès',
  387.                 'In Salah' => 'In Salah',
  388.                 'In Guezzam' => 'In Guezzam',
  389.                 'Touggourt' => 'Touggourt',
  390.                 'Djanet' => 'Djanet',
  391.                 'El M’Ghaier' => 'El M’Ghaier',
  392.                 'El Meniaa' => 'El Meniaa',
  393.                 
  394.             ]])*/
  395.             //->add('visited')
  396.             //->add('tel1Click')
  397.             //->add('tel2Click')
  398.             //->add('tel3Click')
  399.             
  400.         ;
  401.     }
  402.     public function configureOptions(OptionsResolver $resolver): void
  403.     {
  404.         $resolver->setDefaults([
  405.             'data_class' => DfGeneraliste::class,
  406.             'validation_groups' => false,
  407.             'error_bubbling' => false,
  408.         ]);
  409.     }
  410. }