From 9751d571b92a2947c3d582a1f50ef7c7f22cc4e7 Mon Sep 17 00:00:00 2001 From: Simon Vieille Date: Sat, 30 Apr 2022 14:50:22 +0200 Subject: [PATCH] add user field when user is ROLE_TREASURER --- src/Form/ExpenseReportType.php | 18 ++++++++++++++++++ templates/admin/expense_report/_form.html.twig | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Form/ExpenseReportType.php b/src/Form/ExpenseReportType.php index 49186ee..31182aa 100644 --- a/src/Form/ExpenseReportType.php +++ b/src/Form/ExpenseReportType.php @@ -4,10 +4,14 @@ namespace App\Form; use App\Core\Form\Type\CollectionType; use App\Entity\ExpenseReport; +use Doctrine\ORM\EntityRepository; +use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Component\Validator\Constraints\NotBlank; +use App\Entity\User; class ExpenseReportType extends AbstractType { @@ -100,6 +104,20 @@ class ExpenseReportType extends AbstractType if ($options['is_treasurer']) { $builder + ->add('user', EntityType::class, [ + 'required' => true, + 'class' => User::class, + 'label' => 'Personne', + 'choice_value' => 'id', + 'query_builder' => function (EntityRepository $repo) { + return $repo->createQueryBuilder('u') + ->orderBy('u.displayName', 'ASC') + ; + }, + 'constraints' => [ + new NotBlank(), + ], + ]) ->add('isRequestedPayment', CheckboxType::class, [ 'required' => false, ]) diff --git a/templates/admin/expense_report/_form.html.twig b/templates/admin/expense_report/_form.html.twig index 4924d39..86ff00d 100644 --- a/templates/admin/expense_report/_form.html.twig +++ b/templates/admin/expense_report/_form.html.twig @@ -1,6 +1,6 @@
- {% for item in ['dateFrom', 'dateTo', 'isRequestedPayment', 'isPaid', 'paidAt', 'newBills', 'deleteBills'] %} + {% for item in ['user', 'dateFrom', 'dateTo', 'isRequestedPayment', 'isPaid', 'paidAt', 'newBills', 'deleteBills'] %} {% if form[item] is defined %} {% include(configuration.view('form_widget', '@Core/admin/crud/_form_widget.html.twig')) with {form: form[item]} %} {% endif %}