<?php
namespace App\Form;
use App\Entity\Clan;
use App\Entity\Eglise;
use App\Entity\User;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class UserFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('NomUser',TextType::class,[
'required' => true,
'label' => false ,
'attr'=> [
'style' => $this->size(),
'placeholder' => 'Nom du chorale ou Personnel'
]
])
->add('EmailUser',EmailType::class,[
'required' => true,
'label' => false,
'attr'=> [
'placeholder' => 'En suite votre @ email',
'style' => $this->size()
]
])
->add('NumTelUser',IntegerType::class,[
'required' => true,
'label' => false,
'attr'=> [
'placeholder' => 'Code pays + numéro phone',
'style' => $this->size(),
]
])
->add('PasswordUser',PasswordType::class,[
'required' => true,
'label' => false,
'attr'=> [
'placeholder' => 'Puis votre mot de passe',
'style' => $this->size(),
]
])
->add('ConfirmationPassword',PasswordType::class,[
'required' => true,
'label' => false,
'attr'=> [
'placeholder' => 'Confirmation du mot de passe',
'style' => $this->size(),
]
])
->add('flag',TextType::class,[
'label' => false,
'attr' => [
'style' => 'display:none'
]
])
->add('clan',EntityType::class,[
'class' => Clan::class,
'label' => 'Mélodie du groupe',
'label_attr' => [
'style' => 'font-weight:bold'
],
'required' => true,
'choice_label' => 'NomClan',
'multiple' => false
])
->add('eglise',EntityType::class,[
'class' => Eglise::class,
'label' => 'Communauté du groupe',
'label_attr' => [
'style' => 'font-weight:bold'
],
'required' => true,
'choice_label' => 'NomEglise',
'multiple' => false
])
->add('codeValidation',IntegerType::class,[
'required' => true,
'label' => false,
'attr'=> [
'placeholder' => 'Tapez le code ici',
'style' => $this->size(),
]
])
->add('ConfirCodeValidation',IntegerType::class,[
'required' => true,
'label' => false,
'attr'=> [
'placeholder' => 'tapez le code ici',
'style' => $this->size()
]
]);
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => User::class,
'method' => 'post',
'action' => '/',
'attr' => [
'id' => 'FormInsc'
]
]);
}
/**
* Renvoie le type de compte soit simple soit parc ou ...
* @return array
*/
private function getchoices()
{
$choices = User::TypeCompte;
$output = [];
foreach ($choices as $k => $v){
$output[$v] = $k;
}
return $output;
}
/**
* Renvoie un style commun
* @return string
*/
public function size():string {
return 'font-size:12px;font-weight:bold;font-family:cursive;height:35px';
}
}