From 2d40c38c88fed58648f713bbd47a2dac1ca22784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Fastr=C3=A9?= Date: Wed, 2 Nov 2022 15:56:48 +0100 Subject: [PATCH] Feature: [export][evaluation] add by end date filter --- .../EvaluationFilters/ByEndDateFilter.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php index 5c509d50c..f828da109 100644 --- a/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php +++ b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php @@ -14,7 +14,7 @@ namespace Chill\PersonBundle\Export\Filter\EvaluationFilters; use Chill\MainBundle\Export\FilterInterface; use Chill\MainBundle\Form\Type\ChillDateType; use Chill\PersonBundle\Export\Declarations; -use DateTime; +use DateTimeImmutable; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\QueryBuilder; use Symfony\Component\Form\FormBuilderInterface; @@ -26,12 +26,12 @@ class ByEndDateFilter implements FilterInterface return null; } - public function alterQuery(QueryBuilder $qb, $data) + public function alterQuery(QueryBuilder $qb, $data): void { $qb - ->andWhere('workeval.endDate IS BETWEEN :start_date and :end_date') - ->setParameter('start_date', $data['start_date'], Types::DATE_IMMUTABLE) - ->setParameter('end_date', $data['end_date'], Types::DATE_IMMUTABLE); + ->andWhere('workeval.endDate BETWEEN :work_eval_by_end_date_start_date and :work_eval_by_end_date_end_date') + ->setParameter('work_eval_by_end_date_start_date', $data['start_date'], Types::DATE_IMMUTABLE) + ->setParameter('work_eval_by_end_date_end_date', $data['end_date'], Types::DATE_IMMUTABLE); } public function applyOn(): string @@ -39,16 +39,18 @@ class ByEndDateFilter implements FilterInterface return Declarations::EVAL_TYPE; } - public function buildForm(FormBuilderInterface $builder) + public function buildForm(FormBuilderInterface $builder): void { $builder ->add('start_date', ChillDateType::class, [ 'label' => 'start period date', - 'data' => new DateTime(), + 'data' => new DateTimeImmutable('1 year ago'), + 'input' => 'datetime_immutable', ]) ->add('end_date', ChillDateType::class, [ 'label' => 'end period date', - 'data' => new DateTime(), + 'data' => new DateTimeImmutable(), + 'input' => 'datetime_immutable', ]); }