<?php

namespace App\Form;

use App\Entity\User;
use App\Entity\Filial;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Doctrine\ORM\EntityRepository;
use App\Bundle\Infoclinica\Region;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;

class RefundType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('fio', TextType::class, [
                'mapped' => false,
                'required' => true,
                'label' => 'ФИО:'
            ])
            ->add('passport_serial', TextType::class, [
                'mapped' => false,
                'required' => true,
                'label' => 'Паспорт: (серия номер)',
                'attr' => [
                    'data-controller' => 'inputMask',
                    'data-mask' => '9999 999999',
                ]
            ])
            ->add('passport_issued', TextareaType::class, [
                'mapped' => false,
                'required' => true,
                'label' => 'Выдан:'
            ])
            ->add('passport_date', DateType::Class, array(
                'mapped' => false,
                'format' => 'yyyy-MM-dd',
                'widget' => 'single_text',
                'required' => true,
                'label' => 'Дата выдачи:'
            ))
            ->add('sum', TextType::class, [
                'mapped' => false,
                'required' => true,
                'label' => 'Сумма возврата:'
            ])
            ->add('refund_date', DateType::Class, array(
                'mapped' => false,
                'required' => true,
                'label' => 'Дата платежа:',
                'format' => 'yyyy-MM-dd',
                'widget' => 'single_text',
            ))
            ->add('refund_bases', ChoiceType::class, [
                'mapped' => false,
                'required' => true,
                'label' => 'Причина возврата:',
                'expanded' => false,
                'choices' => [
                    'Отказ от консультация до ее начала' => 'Отказ от консультация до ее начала',
                    'Консультация не состоялась по техническим причинам' => 'Консультация не состоялась по техническим причинам',
                ]
            ]);
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => NULL,
        ]);
    }
}
