<?php
namespace App\Form\GroupTicket;
use App\Entity\GroupTicket\PublicConnection;
use App\Entity\GroupTicket\TransportCompany;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
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\DateType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class TransportCompanyType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('name', TextType::class, [
'required' => true,
'label' => 'persona.label.name',
'empty_data' => '',
'attr' => [
'placeholder' => 'persona.label.name',
'autofocus' => true
],
])
->add('taxNumber', TextType::class, [
'required' => true,
'label' => 'transport_company.taxNumber',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.taxNumber',
'autofocus' => true
],
])
->add('abbrevation', TextType::class, [
'label' => 'transport_company.abbreviation',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.abbreviation',
'autofocus' => true
],
])
->add('tuNumber', TextType::class, [
'required' => true,
'label' => 'transport_company.tuNumber',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.tuNumber',
'autofocus' => true
],
])
->add('productTitle', TextType::class, [
'required' => true,
'label' => 'transport_company.productTitle',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.productTitle',
'autofocus' => true
],
])
->add('productLimitation', TextType::class, [
'required' => true,
'label' => 'transport_company.productLimitation',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.productLimitation',
'autofocus' => true
],
])
->add('productNumber', TextType::class, [
'required' => true,
'label' => 'transport_company.productNumber',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.productNumber',
'autofocus' => true
],
])
->add('email', EmailType::class, [
'required' => true,
'label' => 'persona.label.email',
'attr' => [
'placeholder' => 'persona.label.email'
],
])
->add('loginValidStart', DateType::class, [
'html5' => false,
'label' => 'login.validStart',
'widget' => 'single_text',
'required' => false,
'attr' => [
'class' => 'flatpickr-time',
'placeholder' => 'login.validStart'
]
])
->add('loginValidEnd', DateType::class, [
'html5' => false,
'label' => 'login.validEnd',
'widget' => 'single_text',
'required' => false,
'attr' => [
'class' => 'flatpickr-time',
'placeholder' => 'login.validEnd'
]
])
->add('allowedEditPriceList', CheckboxType::class, [
'label' => 'transport_company.allowedEditPriceList',
'required' => false,
])
->add('groupTicketClass', IntegerType::class, [
'required' => true,
'label' => 'transport_company.groupTicketClass',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.groupTicketClass',
'autofocus' => true
],
])
->add('groupTicketFqCode', TextType::class, [
'required' => false,
'label' => 'transport_company.groupTicketFqCode',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.groupTicketFqCode',
'autofocus' => true
],
])
->add('groupTicketSegment', TextType::class, [
'required' => true,
'label' => 'transport_company.groupTicketSegment',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.groupTicketSegment',
'autofocus' => true
],
])
->add('footerTemplate', ChoiceType::class, [
'required' => false,
'label' => 'public_connection.template',
'choices' => [
'Bitte wählen' => null,
'Regionalbus Lenzburg AG' => 'rbl.html.twig',
],
'attr' => [
'data-minimum-results-for-search' => 'Infinity',
]
])
->add('groupTicketMinSize', IntegerType::class, [
'required' => false,
'label' => 'transport_company.groupTicketMinSize',
'empty_data' => '',
'attr' => [
'placeholder' => 'transport_company.groupTicketMinSize',
],
])
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => TransportCompany::class,
]);
}
}