<?php
namespace App\Form;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\BirthdayType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CountryType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use App\Entity\CompagnyInfo;
use App\Entity\DomainActivity;
use App\Entity\Job;
use App\Entity\Department;
class CompagnyInfoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nameCompagny', TextType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Nom de societe',
])
->add('birthdayCompagny', BirthdayType::class,[
'required'=>true,
'attr'=>[
'class'=>'mb-1'
],
'label'=>'Date de creation',
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
])
->add('adressCompagny', TextType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Adresse de siege',
])
->add('postalCodeCompagny', IntegerType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Code postal',
])
->add('cityCompagny', TextType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Ville',
])
->add('departmentCompagny', EntityType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-check-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Departement',
'class'=>Department::class,
'choice_label'=> function(Department $department){
return $department->getDepartmentName();
},
'expanded'=>false,
'multiple'=>false,
'help'=>'Champ requis',
])
->add('countryCompagny', CountryType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Pays',
])
->add('identificationNumberCompagny', TextType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Numero de siren',
])
->add('RCS', TextType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>"RCS de votre societe",
])
->add('descriptionCompagny', TextareaType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Description de la societe',
])
->add('domainActivity', EntityType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-check-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Categorie Professionnelle',
'class'=>DomainActivity::class,
'choice_label'=> function(DomainActivity $domain){
return $domain->getActivity();
},
'expanded'=>false,
'multiple'=>false,
'help'=>'Champ requis',
])
->add('job', EntityType::class,[
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-check-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Metier(s)',
'class'=>Job::class,
'choice_label'=> function(Job $job){
return $job->getJob();
},
'expanded'=>false,
'multiple'=>false,
'help'=>'Champ requis',
])
->add('typeBusiness', ChoiceType::class,[
'mapped'=>false,
'required'=>true,
'attr'=>[
'class'=>'form-control col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 mb-1'
],
'label_attr'=>[
'class'=>'form-check-label col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12 text-left fontSize mb-0'
],
'label'=>'Type de structure ?',
'choices'=> [
'Société' => 'BUSINESS',
'Auto-entreprise / Micro-entreprise' => 'SOLETRADER',
'Association' => 'ORGANIZATION',
],
'expanded'=>false,
'multiple'=>false,
'help'=>'Champ requis',
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => CompagnyInfo::class,
]);
}
}