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');