<?php
namespace App\Form;
use App\Entity\DfGeneraliste;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TimeType;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Constraints\NotBlank;
use function PHPSTORM_META\type;
class DfGeneralisteType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('Specialite', ChoiceType::class, [
'label' => "Spécialité",
'mapped' => false,
'choices' => [
'Allergologie' => 'Allergologie',
'Anatomie Pathologyque' => 'Anatomie Pathologyque',
'Andrologie' => 'Andrologie',
'Anesthésiologie' => 'Anesthésiologie',
'Cardiologie' => 'Cardiologie',
'Dermatologie' => 'Dermatologie',
'Endocrinologie' => 'Endocrinologie',
'Gastro-entérologie' => 'Gastro-entérologie',
'Gériatrie' => 'Gériatrie',
'Gynécologie' => 'Gynécologie',
'Hématologie' => 'Hématologie',
'Hépatologie' => 'Hépatologie',
'Immunologie' => 'Immunologie',
'Infectiologie' => 'Infectiologie',
'Médecine Générale' => 'Médecine Générale',
'Médecine Interne' => 'Médecine Interne',
'Médecine physique et de réadaptation' => 'Médecine physique et de réadaptation',
'Néonatologie.' => 'Néonatologie',
'Néphrologie' => 'Néphrologie',
'Neurologie' => 'Neurologie',
'Obstétrique' => 'Obstétrique',
'Odontologie' => 'Odontologie',
'Oncologie' => 'Oncologie',
'Ophtalmologie' => 'Ophtalmologie',
'Orthopédie' => 'Orthopédie',
'Pédiatrie' => 'Pédiatrie',
'Pneumologie' => 'Pneumologie',
'Podologie' => 'Podologie',
'Psychiatrie' => 'Psychiatrie',
'Radiologie' => 'Radiologie',
'Radiothérapie' => 'Radiothérapie',
'Rhumatologie' => 'Rhumatologie',
'Urologie' => 'Urologie',
],
])
->add('nomMedecinFr', TextType::class, array(
'required' => false,
'label' => 'Nom Médecin Fr',
'attr' => array(
'placeholder' => 'nom et prénom'
),
))
->add('nomMedcinAr', TextType::class, array(
'required' => false,
'label' => 'Nom Médecin Ar',
'constraints' => [new NotBlank(['message' => 'Ce champ est obligatoire !'])],
'attr' => array(
'placeholder' => "الإسم و اللقب"
)))
->add('longitude', TextType::class)
->add('latitude', TextType::class)
//->add('role', ChoiceType::class, array(
// 'choices' => [
// 'ROLE_ADMIN' => "ROLE_ADMIN"
// ]))
->add('experience', ChoiceType::class, [
'choices' => [
'0 - 5 ans ' => 'Débutant',
'5 - 10 ans' => 'Moyen',
'+10 ans' => 'Expert',
],
])
->add('prix_consultation', TextType::class, array(
'attr' => array(
'placeholder' => '2000'
)))
->add('sexe', ChoiceType::class, [
'choices' => [
'Homme' => 'Homme',
'Femme' => 'Femme',
],
])
->add('telephone1', TelType::class, array(
'attr' => array(
'placeholder' => '021 54 67 88'
)))
->add('telephone2', TelType::class, array(
'required' => false,
'attr' => array(
'placeholder' => '021 54 67 89',
)))
->add('telephone3', TelType::class, array(
'required' => false,
'attr' => array(
'placeholder' => '021 54 67 90',
)))
->add('email', EmailType::class, array(
'attr' => array(
'placeholder' => 'nom@exemple.com'
)))
//->add('password', PasswordType::class)
->add('password', RepeatedType::class, [
'type' => PasswordType::class,
'invalid_message' => 'The password fields must match.',
'options' => ['attr' => ['class' => 'password-field']],
'required' => true,
'first_name' => 'pass',
'second_name' => 'confirm',
'first_options' => ['label' => 'Mot de passe'],
'second_options' => ['label' => 'Confirmation Mot de passe'],
])
->add('vendrediTravail', TextType::class)
//->add('vendrediTravailSoir', TextType::class)
->add('samediTravail', TextType::class)
//->add('samediTravailSoir', TextType::class)
->add('dimancheTravail', TextType::class)
//->add('dimancheTravailSoir', TextType::class)
->add('lundiTravail', TextType::class)
//->add('lundiTravailSoir', TextType::class)
->add('mardiTravail', TextType::class)
//->add('mardiTravailSoir', TextType::class)
->add('mercrediTravail', TextType::class)
//->add('mercrediTravailSoir', TextType::class)
->add('jeudiTravail', TextType::class)
//->add('jeudiTravailSoir', TextType::class)
->add('avecRDV', CheckboxType::class, array(
//'label_attr' => ['class' => 'switch-custom'],
'required' => false,
'data' => true,
'label' => 'Activer la prise de rendez-vous en ligne '))
->add('region', TextareaType::class, array(
'attr' => array(
'placeholder' => 'Nom de rue, Numéro Bloc, Code Postal, Commune, Ville, Pays',
"row" => 7
)))
->add('regionAr', TextareaType::class, array(
'attr' => array(
'placeholder' => 'إسم الشارع، رقم العمارة، الكود البريدي، إسم البلدية، الولاية، البلد',
"row" => 7
)))
->add('ReposSamedi', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('SamedistartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('SamediendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
])
->add('ReposDimanche', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('DimanchestartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('DimancheendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
])
->add('ReposLundi', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('LundistartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('LundiendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
])
->add('ReposMardi', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('MardistartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('MardiendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
])
->add('ReposMercredi', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('MercredistartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('MercrediendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
])
->add('ReposJeudi', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('JeudistartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('JeudiendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
])
->add('ReposVendredi', CheckboxType::class, [
'mapped' => false,
'label' => ' ',
'required' => false,
])
->add('VendredistartTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [6, 7, 8, 9, 10, 11],
])
->add('VendrediendTime', TimeType::class, [
'mapped' => false,
'input' => 'datetime',
'widget' => 'choice',
'minutes' => [0, 15, 30, 45],
'hours' => [15, 16, 17, 18, 19, 20],
]);
/*->add('region', ChoiceType::class, [
'choices' => [
'Adrar' => 'Adrar',
'Chlef' => 'Chlef',
'Laghouat' => 'Laghouat',
'Oum El Bouaghi' => 'Oum El Bouaghi',
'Batna' => 'Batna',
'Bejaia' => 'Bejaia',
'Biskra' => 'Biskra',
'Bechar' => 'Bechar',
'Blida' => 'Blida',
'Bouira' => 'Bouira',
'Tamanrasset' => 'Tamanrasset',
'Tebessa' => 'Tebessa',
'Tlemcen' => 'Tlemcen',
'Tiaret' => 'Tiaret',
'Tizi Ouzou' => 'Tizi Ouzou',
'Algiers' => 'Algiers',
'Djelfa' => 'Djelfa',
'Jijel' => 'Jijel',
'Setif' => 'Setif',
'Saïda' => 'Saïda',
'Skikda' => 'Skikda',
'Sidi Bel Abbes' => 'Sidi Bel Abbes',
'Annaba' => 'Annaba',
'Guelma' => 'Guelma',
'Constantine' => 'Constantine',
'Medea' => 'Medea',
'Mostaganem' => 'Mostaganem',
'Msila' => 'Msila',
'Mascara' => 'Mascara',
'Ouargla' => 'Ouargla',
'Oran' => 'Oran',
'El Bayadh' => 'El Bayadh',
'Illizi' => 'Illizi',
'Bordj Bou Arreridj ' => 'Bordj Bou Arreridj ',
'Boumerdes' => 'Boumerdes',
'El Taref ' => 'El Taref ',
'Tindouf' => 'Tindouf',
'Tissemsilt' => 'Tissemsilt',
'El Oued' => 'El Oued',
'Khenchela' => 'Khenchela',
'Souk Ahras' => 'Souk Ahras',
'Tipaza' => 'Tipaza',
'Mila' => 'Mila',
'Aïn Defla' => 'Aïn Defla',
'Naama' => 'Naama',
'Aïn Temouchent' => 'Aïn Temouchent',
'Ghardaia' => 'Ghardaia',
'Relizane' => 'Relizane',
'Timimoun' => 'Timimoun',
'Bordj Badji Mokhtar ' => 'Bordj Badji Mokhtar ',
'Ouled Djellal' => 'Ouled Djellal',
'Béni Abbès' => 'Béni Abbès',
'In Salah' => 'In Salah',
'In Guezzam' => 'In Guezzam',
'Touggourt' => 'Touggourt',
'Djanet' => 'Djanet',
'El M’Ghaier' => 'El M’Ghaier',
'El Meniaa' => 'El Meniaa',
]])*/
//->add('visited')
//->add('tel1Click')
//->add('tel2Click')
//->add('tel3Click')
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => DfGeneraliste::class,
'validation_groups' => false,
'error_bubbling' => false,
]);
}
}