EmployeeBusinessCardType
extends AbstractType
in package
Formulaire de la carte de visite virtuelle d'un employé, éditable par l'employé lui-même.
Alimente l'entité BusinessCardAize : identité (prénom/nom, mappés via property_path sur
firstName/lastName), e-mail, pays (GN par défaut), poste, type d'organisme, domaines de
compétences (sélection multiple), bio et information additionnelle (100 caractères maximum,
interdiction des caractères </> par une contrainte Regex portée par le formulaire), ainsi
qu'une case à cocher de partage dans le réseau BCard. La collection imbriquée phoneNumbers
(type enfant BusinessCardPhoneNumberType) exige au moins une entrée (contrainte Count
portée par le formulaire).
Les listes de choix industry (secteur d'activité) et skills (compétences) sont chargées
dans le constructeur depuis public/assets/json/industries.json et skills.json. Le champ
industry n'est pas mappé ('mapped' => false) et complété par le champ industryOther
(également non mappé) lorsque le secteur réel de l'entité ne figure pas dans la liste ou vaut
« Autre » : ce n'est pas un événement de formulaire qui pré-remplit ces deux champs, mais du
code exécuté directement au début de buildForm(), avant l'ajout des champs — il lit
$options['data'] pour déterminer la valeur initiale de industryData/industryOtherData,
réinjectées ensuite via l'option 'data' des champs industry/industryOther. Un listener
POST_SUBMIT réassigne ensuite le secteur de l'entité (setIndustry()) à partir du choix
effectué, en repli sur la saisie libre d'industryOther si « Autre » est sélectionné ; c'est le
seul listener PRE_SET_DATA du fichier qui, lui, ne traite que la collection phoneNumbers.
Le même listener POST_SUBMIT recopie le premier numéro de la collection phoneNumbers dans
le champ phoneNumber de l'entité via setPhoneNumber(). Le champ cvFile (CV, PDF, 50 Mo
maximum) n'est pas mappé non plus : son enregistrement est laissé au contrôleur appelant.
Table of Contents
Properties
- $industryChoices : array<string|int, mixed>
- $skillsChoices : array<string|int, mixed>
Methods
- __construct() : mixed
- buildForm() : void
- configureOptions() : void
Properties
$industryChoices
private
array<string|int, mixed>
$industryChoices
= []
$skillsChoices
private
array<string|int, mixed>
$skillsChoices
= []
Methods
__construct()
public
__construct() : mixed
buildForm()
public
buildForm(FormBuilderInterface $builder, array<string|int, mixed> $options) : void
Parameters
- $builder : FormBuilderInterface
- $options : array<string|int, mixed>
configureOptions()
public
configureOptions(OptionsResolver $resolver) : void
Parameters
- $resolver : OptionsResolver