ClientSubscriptionType
extends AbstractType
in package
Formulaire d'administration de la création d'un abonnement pour le compte d'un client.
Formulaire non mappé sur une entité (configureOptions() ne définit pas de data_class) : le
client (EntityType sur User), le plan choisi (EntityType sur Plan, restreint aux plans
actifs p.isActive = true), le cycle de facturation (mensuel ou annuel), le mode de paiement —
« À payer par le client » (deferred) ou « Paiement hors système (marquer payée) »
(manual_paid) — et des notes internes facultatives.
Lorsque l'option enterprise vaut true, le champ user restreint ses choix (via
query_builder) aux utilisateurs rattachés à une entreprise et portant ROLE_MANAGER, et un
sous-formulaire companyDetails (type App\Form\CompanyDetailsType) est ajouté d'emblée. Que
l'option enterprise soit active ou non, un listener PRE_SUBMIT ajoute également ce
sous-formulaire dès lors que le plan sélectionné (résolu via PlanRepository) porte le nom
« Entreprise » et qu'il n'est pas déjà présent.
Table of Contents
Properties
Methods
- __construct() : mixed
- buildForm() : void
- configureOptions() : void
Properties
$planRepository read-only
private
PlanRepository
$planRepository
Methods
__construct()
public
__construct(PlanRepository $planRepository) : mixed
Parameters
- $planRepository : PlanRepository
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