*/ class SettingEventSubscriber extends EventSubscriber { protected SettingManager $manager; public function __construct(SettingManager $manager) { $this->manager = $manager; } public function onInit(SettingEvent $event) { $this->manager->init( 'expense_report_scale_per_kilometer', 'Note de frais', 'Barème au kilomètre', 0 ); } public function onFormInit(SettingEvent $event) { $data = $event->getData(); $builder = $data['builder']; $entity = $data['entity']; if ('expense_report_scale_per_kilometer' === $entity->getCode()) { $builder->add( 'value', NumberType::class, [ 'html5' => true, 'required' => true, 'label' => $entity->getLabel(), 'scale' => 2, 'attr' => [ 'step' => 0.01, ], 'constraints' => [ new NotBlank(), new Range(['min' => 0]), ], ] ); } } }