<?php
namespace ParcBundle\Form;
use App\Entity\Retirage;
use App\Entity\Images;
use PhpParser\Parser\Multiple;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class RetirageType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', TextType::class, [
'label' => 'Nom',
'attr' => [
'placeholder' => 'Nom',
'required' => true,
'field-name' => 'Nom'
]
])
->add('firstName', TextType::class, [
'label' => 'Prénom',
'attr' => [
'placeholder' => 'Prénom',
'required' => true,
'field-name' => 'Prénom'
]
])
->add('mail', EmailType::class, [
'label' => 'Email',
'attr' => [
'placeholder' => 'Email',
'required' => true,
'field-name' => 'Email'
]
])
->add('phone', TelType::class, [
'label' => 'Téléphone',
'attr' => [
'placeholder' => 'Téléphone',
'required' => true,
'field-name' => 'Téléphone'
]
])
->add('adress', TextType::class, [
'label' => 'Adresse',
'attr' => [
'placeholder' => 'Adresse',
'required' => true,
'type' => 'search',
'field-name' => 'Adresse'
]
])
->add('city', TextType::class, [
'label' => 'Ville',
'attr' => [
'placeholder' => 'Ville',
'required' => true,
'autocomplete' => 'address-level2',
'field-name' => 'Ville'
]
])
->add('postalCode', TextType::class, [
'label' => 'Code Postal',
'attr' => [
'placeholder' => 'Code postal',
'required' => true,
'autocomplete' => 'postal-code',
'field-name' => 'Code-postal'
]
])
->add('parc', ChoiceType::class, [
'label' => 'Quel parc avez-vous visité ?',
'placeholder' => '-- Séléctionner un parc --',
'required' => true,
'choices' => [
'Zoo African-Safari' => '1',
'Animaparc' => '2',
],
])
->add('visitDate', DateType::class, [
'label' => 'Quelle était la date de votre visite ?',
'widget' => 'single_text',
'attr' => [
'required' => true,
'min' => date('2022-01-01'),
'max' => date('Y-m-d'),
]
])
->add('creationDate', DateType::class, [
'label' => 'Date de la demande',
'widget' => 'single_text',
'empty_data' => '',
])
->add('ticketNumber', IntegerType::class, [
'label' => 'Quel était votre numéro de ticket ? (facultatif)',
'required' => false,
'attr' => [
'rows' => 1,
'placeholder' => 'Exemple : numéro de ticket 43',
'max' => '100'
],
])
->add('comment', TextType::class, [
'label' => 'Pouvez-vous nous décrire des éléments présents sur votre photo ? (facultatif)',
'required' => false,
'attr' => [
'rows' => 1,
'placeholder' => 'Exemple : 2 personnes sur la photo, casquette rouge, tee-shirt vert',
],
])
->add('images', FileType::class, [
'label' => 'Ajouter votre photo',
'multiple' => true,
'mapped' => false,
'required' => false,
'attr' => [
'accept' => 'image/*',
'class' => 'retirage_images',
'id'=> "retirage_images_0",
],
])
->add('numberPhoto', CollectionType::class, [
'label' => 'Nombre de retirages photos',
'entry_type' => ChoiceType::class,
'entry_options' => [
'label' => 'Nombre de retirages photos',
'choices' => [
'0' => '0',
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
],
'choice_attr' => [
'class' => 'form-control'
],
'data' => '0'
],
'mapped' => false,
'required' => false,
'allow_add' => true,
'prototype' => true,
])
->add('numberMagnet', CollectionType::class, [
'label' => 'Nombre de retirages photos',
'entry_type' => ChoiceType::class,
'entry_options' => [
'label' => 'Nombre de magnets',
'choices' => [
'0' => '0',
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
],
'choice_attr' => [
'class' => 'form-control'
],
'data' => '0'
],
'mapped' => false,
'required' => false,
'allow_add' => true,
'prototype' => true,
])
->add('numberKeyChain', CollectionType::class, [
'label' => 'Nombre de portes clés',
'entry_type' => ChoiceType::class,
'entry_options' => [
'label' => 'Nombre de portes clés',
'choices' => [
'0' => '0',
'1' => '1',
'2' => '2',
'3' => '3',
'4' => '4',
'5' => '5',
],
'choice_attr' => [
'class' => 'form-control'
],
'data' => '0'
],
'mapped' => false,
'required' => false,
'allow_add' => true,
'prototype' => true,
])
->add('isDone', CheckboxType::class, [
'label' => 'La demande a été traitée',
'required' => false,
])
->add('submit', SubmitType::class, [
'label' => 'Envoyer la demande',
'attr' => [
'class' => 'form-control w-100 btn btn-golderod'
]
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
// Configure your form options here
]);
}
}