SubscriptionType
extends AbstractType
in package
Formulaire de choix du cycle de facturation lors de la souscription à un abonnement.
Alimente l'entité Subscription : le champ billingCycle (boutons radio, « Mensuel » par
défaut) propose les deux cycles Subscription::BILLING_MONTHLY et Subscription::BILLING_YEARLY,
contraints par le formulaire à l'une de ces deux valeurs. Les champs employeeCount et
totalAmount (champs cachés) ne sont pas mappés ('mapped' => false) : employeeCount est
préinitialisé depuis l'option employee_count mais, comme le commentaire du fichier
l'indique, aucun listener ne recalcule totalAmount côté serveur — ce calcul est renvoyé au
JavaScript côté client. Aucune lecture de ces deux champs n'a été trouvée dans le contrôleur
appelant (CompanyRegistrationController), qui calcule le montant de son côté via
PaymentService::calculateSubscriptionAmount().
Options personnalisées attendues par configureOptions() : employee_count (entier, 1 par
défaut), qui alimente la valeur initiale du champ caché employeeCount. La protection CSRF est
explicitement configurée (csrf_field_name = _token, csrf_token_id =
subscription_selection).
Table of Contents
Methods
- buildForm() : void
- configureOptions() : void
Methods
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