getData()->getId()) { $builder->add('file', FileType::class, [ 'label' => 'Fichier', 'constraints' => [ new File([ 'mimeTypes' => [ 'application/pdf', 'application/x-pdf', 'image/png', 'image/jpeg', ], 'mimeTypesMessage' => 'Le fichier doit être au format PDF ou une image.', ]), ], ]); } else { $builder ->add('reference', null, [ 'label' => 'Numéro de facture', 'constraints' => [ new NotBlank(), ], ]) ->add('vendor', EntityType::class, [ 'label' => 'Fournisseur', 'required' => false, 'class' => BillVendor::class, 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('v') ->orderBy('v.label', 'ASC') ; }, 'attr' => [ 'data-jschoice' => '', ], ]) ->add('customVendor', null, [ 'label' => 'Ajouter un fournisseur', 'label_attr' => [ 'class' => 'font-weight-normal', ], 'required' => false, 'mapped' => false, ]) ->add('category', EntityType::class, [ 'label' => 'Catégorie', 'required' => false, 'class' => BillCategory::class, 'label_attr' => [ 'class' => 'mt-3', ], 'query_builder' => function (EntityRepository $er) { return $er->createQueryBuilder('v') ->orderBy('v.label', 'ASC') ; }, 'attr' => [ 'data-jschoice' => '', ], ]) ->add('customCategory', null, [ 'label' => 'Ajouter une catégorie', 'label_attr' => [ 'class' => 'font-weight-normal', ], 'required' => false, 'mapped' => false, ]) ->add('date', null, [ 'html5' => true, 'widget' => 'single_text', 'label_attr' => [ 'class' => 'mt-3', ], ]) ->add('paymentDeadlineDate', null, [ 'label' => 'Date limite de paiement', 'html5' => true, 'widget' => 'single_text', ]) ->add('amountTtc', NumberType::class, [ 'label' => 'Montant TTC', 'html5' => true, 'scale' => 2, 'label_attr' => [ 'class' => 'mt-3', ], 'attr' => [ 'step' => 0.01, ], ]) ->add('amountHt', NumberType::class, [ 'label' => 'Montant HT', 'scale' => 2, 'html5' => true, 'attr' => [ 'step' => 0.01, ], ]) ->add('status', ChoiceType::class, [ 'choices' => BillPeer::choices(), 'label_attr' => [ 'class' => 'mt-3', ], ]) ; } } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Bill::class, ]); } }