From 27bf2893d003263c938eac0036db3a50c493e549 Mon Sep 17 00:00:00 2001 From: Julie Lenaerts Date: Wed, 15 Nov 2023 16:19:43 +0100 Subject: [PATCH] add missing variables to two exports --- .../LinkedToPerson/StatCalendarAvgDuration.php | 12 +++++++++++- .../LinkedToPerson/StatCalendarSumDuration.php | 13 ++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarAvgDuration.php b/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarAvgDuration.php index 46fc4f3b4..2f06c4db2 100644 --- a/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarAvgDuration.php +++ b/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarAvgDuration.php @@ -20,11 +20,19 @@ use Chill\MainBundle\Export\GroupedExportInterface; use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter; use Doctrine\ORM\Query; use Doctrine\ORM\QueryBuilder; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Form\FormBuilderInterface; class StatCalendarAvgDuration implements ExportInterface, GroupedExportInterface { - public function __construct(private readonly CalendarRepository $calendarRepository) {} + private readonly bool $filterStatsByCenters; + + public function __construct( + private readonly CalendarRepository $calendarRepository, + ParameterBagInterface $parameterBag, + ) { + $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center']; + } public function buildForm(FormBuilderInterface $builder): void { @@ -85,6 +93,8 @@ class StatCalendarAvgDuration implements ExportInterface, GroupedExportInterface public function initiateQuery(array $requiredModifiers, array $acl, array $data = []): QueryBuilder { + $centers = array_map(static fn ($el) => $el['center'], $acl); + $qb = $this->calendarRepository->createQueryBuilder('cal'); $qb->select('AVG(cal.endDate - cal.startDate) AS export_result'); diff --git a/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarSumDuration.php b/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarSumDuration.php index cacfe5eb0..094125e3d 100644 --- a/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarSumDuration.php +++ b/src/Bundle/ChillCalendarBundle/Export/Export/LinkedToPerson/StatCalendarSumDuration.php @@ -20,11 +20,20 @@ use Chill\MainBundle\Export\GroupedExportInterface; use Chill\PersonBundle\Security\Authorization\AccompanyingPeriodVoter; use Doctrine\ORM\Query; use Doctrine\ORM\QueryBuilder; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; use Symfony\Component\Form\FormBuilderInterface; class StatCalendarSumDuration implements ExportInterface, GroupedExportInterface { - public function __construct(private readonly CalendarRepository $calendarRepository) {} + private readonly bool $filterStatsByCenters; + + public function __construct( + private readonly CalendarRepository $calendarRepository, + ParameterBagInterface $parameterBag, + ) { + $this->filterStatsByCenters = $parameterBag->get('chill_main')['acl']['filter_stats_by_center']; + + } public function buildForm(FormBuilderInterface $builder): void { @@ -85,6 +94,8 @@ class StatCalendarSumDuration implements ExportInterface, GroupedExportInterface public function initiateQuery(array $requiredModifiers, array $acl, array $data = []): QueryBuilder { + $centers = array_map(static fn ($el) => $el['center'], $acl); + $qb = $this->calendarRepository->createQueryBuilder('cal'); $qb->select('SUM(cal.endDate - cal.startDate) AS export_result');