<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use App\Form\DataTransformer\CATTransformer;
use App\Entity\usr;
class USR_ajo extends AbstractType
{
private $transformer;
public function __construct(CATTransformer $transformer)
{
$this->transformer = $transformer;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('usrnom',
TextType::class,
array(
'label' => 'Nom *',
'required' => true,
'attr'=>array('maxlength'=>'50')
)
)
->add('usrpre',
TextType::class,
array(
'label' => 'Prénom *',
'required' => true,
'attr'=>array('maxlength'=>'30')
)
)
->add('catid',
ChoiceType::class,
array(
'label'=>"Type de structure *",
'required' => true,
'multiple' => false,
'expanded' => false,
'choices'=>$options['listCAT'],
)
)
->add('usrorg',
TextType::class,
array(
'label' => 'Structure *',
'required' => true,
'attr'=>array('maxlength'=>'100')
)
)
->add('username',
TextType::class,
array(
'label' => 'Identifiant (login) *',
'required' => true,
'attr'=>array('maxlength'=>'20')
)
)
->add('usrpwdajo',
PasswordType::class,
array(
'label' => 'Mot de passe *',
'required' => true,
'attr'=>array('maxlength'=>'40'),
'always_empty' => true,
'trim' => true
)
)
->add('usrpwdconf',
PasswordType::class,
array(
'label' => 'Confirmation *',
'required' => true,
'attr'=>array('maxlength'=>'40'),
'always_empty' => true,
'trim' => true
)
)
->add('usremail',
TextType::class,
array(
'label' => 'E-mail *',
'required' => true,
'attr'=>array('maxlength'=>'128')
)
)
->add('usrcodpos',
TextType::class,
array(
'label' => 'Code postal *',
'required' => true,
'attr'=>array('maxlength'=>'5')
)
)
->add('usracccgu',
HiddenType::class,
array(
'label'=>false,
'required'=>true
)
)
;
$builder->get('catid')->addModelTransformer($this->transformer);
$builder->addEventListener(FormEvents::PRE_SET_DATA, array($this, 'onPreSetData'));
}
function onPreSetData(FormEvent $event)
{
$data = $event->getData();
$form = $event->getForm();
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(
array(
'data_class' => usr::class,
'listCAT' => null,
'csrf_protection' => true,
'csrf_field_name' => '_token',
'csrf_token_id' => 'usrajogarg;d44d' // a unique key to help generate the secret token
)
);
}
}