<?php
namespace App\Form\Booking;
use App\Entity\Booking\Booking;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use App\Form\User\AccountType;
class BookingType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('adults', null, [
'label' => 'app.booking.form.adults',
'required' => false,
'attr' => ['placeholder' => 'app.booking.form.adults', 'min' => 1, 'max' => 10]
])
->add('childrens', null, [
'label' => 'app.booking.form.childrens',
'required' => false,
'attr' => ['placeholder' => 'app.booking.form.childrens', 'min' => 0, 'max' => 10]
])
->add('customer', AccountType::class, [
'label' => false
])
// ->add('type', ChoiceType::class, [
// 'label' => false,
// 'required' => true,
// 'placeholder' => 'app.booking.form.type',
// 'choices' => [
// 'app.theme.horse' => 'horse',
// 'app.theme.camel' => 'camel',
// 'app.theme.quad' => 'quad'
// ],
// 'data' => 'horse'
// ])
->add('reservationDate', DateTimeType::class, array(
'label' => 'app.booking.form.date',
'widget' => 'single_text',
'attr' => ['style' => 'padding: 0 20px']
))
->add('location', ChoiceType::class, [
'label' => 'app.booking.form.location',
'placeholder' => 'app.booking.form.location.title',
'required' => true,
'choices' => [
'app.booking.form.location.agafay' => 'agafay',
'app.booking.form.location.marrakech' => 'marrakech',
// 'app.booking.form.location.agadir' => 'agadir',
],
])
->add('notes', null, [
'label' => 'app.booking.form.notes',
'required' => false,
'attr' => ['placeholder' => 'app.booking.form.notes', 'rows' => 13]
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Booking::class,
]);
}
}