From f751d2e9abe8b20645dd9939ad31333eb7bcb2cb Mon Sep 17 00:00:00 2001 From: Mathieu Jaumotte Date: Fri, 28 Oct 2022 16:26:11 +0200 Subject: [PATCH] create 13 new export/filters/aggregators in Person and AsideActivity Bundles * minor corrections on last commit * modify related files (declaration, messages.fr, repository) * yaml service declaration --- .../Aggregator/SentReceivedAggregator.php | 4 +- .../Aggregator/ByActivityTypeAggregator.php | 60 ++++++++++ .../src/Export/Declarations.php | 20 ++++ .../src/Export/Export/CountAsideActivity.php | 111 ++++++++++++++++++ .../Export/Filter/ByActivityTypeFilter.php | 55 +++++++++ .../src/Export/Filter/ByDateFilter.php | 55 +++++++++ .../Repository/AsideActivityRepository.php | 48 ++------ .../src/config/services.yaml | 30 +++++ .../src/translations/messages.fr.yml | 7 ++ .../ByEndDateAggregator.php | 60 ++++++++++ .../ByMaxDateAggregator.php | 60 ++++++++++ .../ByStartDateAggregator.php | 60 ++++++++++ .../CurrentActionAggregator.php | 60 ++++++++++ .../EvaluationFilters/ByEndDateFilter.php | 55 +++++++++ .../EvaluationFilters/ByMaxDateFilter.php | 55 +++++++++ .../EvaluationFilters/ByStartDateFilter.php | 55 +++++++++ .../CurrentEvaluationsFilter.php | 55 +++++++++ .../SocialWorkFilters/CurrentActionFilter.php | 55 +++++++++ .../config/services/exports_evaluation.yaml | 44 ++++++- .../services/exports_social_actions.yaml | 4 + .../translations/messages.fr.yml | 10 ++ 21 files changed, 923 insertions(+), 40 deletions(-) create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByActivityTypeAggregator.php create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Export/Declarations.php create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Export/Export/CountAsideActivity.php create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByActivityTypeFilter.php create mode 100644 src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByDateFilter.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByEndDateAggregator.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByMaxDateAggregator.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByStartDateAggregator.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CurrentActionAggregator.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByMaxDateFilter.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByStartDateFilter.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/CurrentEvaluationsFilter.php create mode 100644 src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CurrentActionFilter.php diff --git a/src/Bundle/ChillActivityBundle/Export/Aggregator/SentReceivedAggregator.php b/src/Bundle/ChillActivityBundle/Export/Aggregator/SentReceivedAggregator.php index bde6e7f06..85c37454f 100644 --- a/src/Bundle/ChillActivityBundle/Export/Aggregator/SentReceivedAggregator.php +++ b/src/Bundle/ChillActivityBundle/Export/Aggregator/SentReceivedAggregator.php @@ -12,7 +12,7 @@ declare(strict_types=1); namespace Chill\ActivityBundle\Export\Aggregator; use Chill\MainBundle\Export\AggregatorInterface; -use Chill\PersonBundle\Export\Declarations; +use Chill\ActivityBundle\Export\Declarations; use Doctrine\ORM\QueryBuilder; use Symfony\Component\Form\FormBuilderInterface; @@ -31,7 +31,7 @@ class SentReceivedAggregator implements AggregatorInterface public function applyOn(): string { - return Declarations::ACP_TYPE; + return Declarations::ACTIVITY; } public function buildForm(FormBuilderInterface $builder) diff --git a/src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByActivityTypeAggregator.php b/src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByActivityTypeAggregator.php new file mode 100644 index 000000000..36b643d53 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Export/Aggregator/ByActivityTypeAggregator.php @@ -0,0 +1,60 @@ +addSelect('AS _aggregator') + ->addGroupBy('_aggregator'); + } + + public function applyOn(): string + { + return Declarations::ASIDE_ACTIVITY_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + // No form needed + } + + public function getLabels($key, array $values, $data) + { + return function ($value): string { + if ('_header' === $value) { + return ''; + } + }; + } + + public function getQueryKeys($data): array + { + return ['_aggregator']; + } + + public function getTitle(): string + { + return 'Group by aside activity type'; + } +} diff --git a/src/Bundle/ChillAsideActivityBundle/src/Export/Declarations.php b/src/Bundle/ChillAsideActivityBundle/src/Export/Declarations.php new file mode 100644 index 000000000..0262516aa --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Export/Declarations.php @@ -0,0 +1,20 @@ +repository = $repository; + } + + public function buildForm(FormBuilderInterface $builder) + { + // TODO: Implement buildForm() method. + } + + public function getAllowedFormattersTypes(): array + { + return [FormatterInterface::TYPE_TABULAR]; + } + + public function getDescription(): string + { + return 'Count aside activities by various parameters.'; + } + + public function getGroup(): string + { + return 'Exports of aside activities'; + } + + public function getLabels($key, array $values, $data) + { + if ('export_result' !== $key) { + throw new LogicException("the key {$key} is not used by this export"); + } + + $labels = array_combine($values, $values); + $labels['_header'] = $this->getTitle(); + + return static function ($value) use ($labels) { + return $labels[$value]; + }; + } + + public function getQueryKeys($data): array + { + return ['export_result']; + } + + public function getResult($query, $data) + { + return $query->getQuery()->getResult(Query::HYDRATE_SCALAR); + } + + public function getTitle(): string + { + return 'Count aside activities'; + } + + public function getType(): string + { + return Declarations::ASIDE_ACTIVITY_TYPE; + } + + public function initiateQuery(array $requiredModifiers, array $acl, array $data = []) + { + $qb = $this->repository->createQueryBuilder('aside'); + + $qb->andWhere(); + + $qb->select('COUNT() AS export_result'); + + return $qb; + } + + public function requiredRole(): string + { + return ''; + } + + public function supportsModifiers(): array + { + return []; + } +} + + + + diff --git a/src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByActivityTypeFilter.php b/src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByActivityTypeFilter.php new file mode 100644 index 000000000..60ca914b2 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByActivityTypeFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::ASIDE_ACTIVITY_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by aside activity type'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByDateFilter.php b/src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByDateFilter.php new file mode 100644 index 000000000..dc6b89662 --- /dev/null +++ b/src/Bundle/ChillAsideActivityBundle/src/Export/Filter/ByDateFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::ASIDE_ACTIVITY_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by aside activity date'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityRepository.php b/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityRepository.php index f2ad9c072..b3dc46f87 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityRepository.php +++ b/src/Bundle/ChillAsideActivityBundle/src/Repository/AsideActivityRepository.php @@ -12,46 +12,20 @@ declare(strict_types=1); namespace Chill\AsideActivityBundle\Repository; use Chill\AsideActivityBundle\Entity\AsideActivity; -use Doctrine\ORM\EntityManagerInterface; -use Doctrine\ORM\EntityRepository; -use Doctrine\Persistence\ObjectRepository; +use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository; +use Doctrine\Persistence\ManagerRegistry; -final class AsideActivityRepository implements ObjectRepository +/** + * @method AsideActivity|null find($id, $lockMode = null, $lockVersion = null) + * @method AsideActivity|null findOneBy(array $criteria, array $orderBy = null) + * @method AsideActivity[] findAll() + * @method AsideActivity[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) + */ +final class AsideActivityRepository extends ServiceEntityRepository { - private EntityRepository $repository; - - public function __construct(EntityManagerInterface $entityManager) + public function __construct(ManagerRegistry $registry) { - $this->repository = $entityManager->getRepository(AsideActivity::class); - } - - public function find($id): ?AsideActivity - { - return $this->repository->find($id); - } - - /** - * @return AsideActivity[] - */ - public function findAll(): array - { - return $this->repository->findAll(); - } - - /** - * @param mixed|null $limit - * @param mixed|null $offset - * - * @return AsideActivity[] - */ - public function findBy(array $criteria, ?array $orderBy = null, $limit = null, $offset = null): array - { - return $this->repository->findBy($criteria, $orderBy, $limit, $offset); - } - - public function findOneBy(array $criteria): ?AsideActivity - { - return $this->repository->findOneBy($criteria); + parent::__construct($registry, AsideActivity::class); } public function getClassName(): string diff --git a/src/Bundle/ChillAsideActivityBundle/src/config/services.yaml b/src/Bundle/ChillAsideActivityBundle/src/config/services.yaml index 34bb6da33..2a7c30d7c 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/config/services.yaml +++ b/src/Bundle/ChillAsideActivityBundle/src/config/services.yaml @@ -20,3 +20,33 @@ services: resource: "../Controller" autowire: true autoconfigure: true + + + ## Exports + + # indicators + Chill\AsideActivityBundle\Export\Export\CountAsideActivity: + autowire: true + autoconfigure: true + tags: + - { name: chill.export, alias: count_asideactivity } + + # filters + Chill\AsideActivityBundle\Export\Filter\ByDateFilter: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_filter, alias: asideactivity_bydate_filter } + + Chill\AsideActivityBundle\Export\Filter\ByActivityTypeFilter: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_filter, alias: asideactivity_activitytype_filter } + + # aggregators + Chill\AsideActivityBundle\Export\Aggregator\ByActivityTypeAggregator: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_aggregator, alias: asideactivity_activitytype_aggregator } diff --git a/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml b/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml index 0a7be1fcd..5b298ed68 100644 --- a/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml +++ b/src/Bundle/ChillAsideActivityBundle/src/translations/messages.fr.yml @@ -166,3 +166,10 @@ Aside activities: Activités annexes Aside activity types: Types d'activités annexes Aside activity type configuration: Configuration des categories d'activités annexes Aside activity configuration: Configuration des activités annexes + +# exports +Count aside activities: Nombre d'activités annexes +Count aside activities by various parameters.: Compte le nombre d'activités annexes selon divers critères +Filter by aside activity date: Filtrer les activités annexes par date +Filter by aside activity type: Filtrer les activités annexes par type d'activité +Group by aside activity type: Grouper les activités annexes par type d'activité \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByEndDateAggregator.php b/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByEndDateAggregator.php new file mode 100644 index 000000000..46c3b460f --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByEndDateAggregator.php @@ -0,0 +1,60 @@ +addSelect('AS _aggregator') + ->addGroupBy('_aggregator'); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + // No form needed + } + + public function getLabels($key, array $values, $data) + { + return function ($value): string { + if ('_header' === $value) { + return ''; + } + }; + } + + public function getQueryKeys($data): array + { + return ['_aggregator']; + } + + public function getTitle(): string + { + return 'Group by end date evaluations'; + } +} diff --git a/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByMaxDateAggregator.php b/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByMaxDateAggregator.php new file mode 100644 index 000000000..689b6fea3 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByMaxDateAggregator.php @@ -0,0 +1,60 @@ +addSelect('AS _aggregator') + ->addGroupBy('_aggregator'); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + // No form needed + } + + public function getLabels($key, array $values, $data) + { + return function ($value): string { + if ('_header' === $value) { + return ''; + } + }; + } + + public function getQueryKeys($data): array + { + return ['_aggregator']; + } + + public function getTitle(): string + { + return 'Group by max date evaluations'; + } +} diff --git a/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByStartDateAggregator.php b/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByStartDateAggregator.php new file mode 100644 index 000000000..656054250 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Aggregator/EvaluationAggregators/ByStartDateAggregator.php @@ -0,0 +1,60 @@ +addSelect('AS _aggregator') + ->addGroupBy('_aggregator'); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + // No form needed + } + + public function getLabels($key, array $values, $data) + { + return function ($value): string { + if ('_header' === $value) { + return ''; + } + }; + } + + public function getQueryKeys($data): array + { + return ['_aggregator']; + } + + public function getTitle(): string + { + return 'Group by start date evaluations'; + } +} diff --git a/src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CurrentActionAggregator.php b/src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CurrentActionAggregator.php new file mode 100644 index 000000000..c69cda35d --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Aggregator/SocialWorkAggregators/CurrentActionAggregator.php @@ -0,0 +1,60 @@ +addSelect('AS _aggregator') + ->addGroupBy('_aggregator'); + } + + public function applyOn(): string + { + return Declarations::SOCIAL_WORK_ACTION_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + // No form needed + } + + public function getLabels($key, array $values, $data) + { + return function ($value): string { + if ('_header' === $value) { + return ''; + } + }; + } + + public function getQueryKeys($data): array + { + return ['_aggregator']; + } + + public function getTitle(): string + { + return 'Group by current actions'; + } +} diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php new file mode 100644 index 000000000..45fddd9c1 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByEndDateFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by end date evaluations'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByMaxDateFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByMaxDateFilter.php new file mode 100644 index 000000000..f262a0cf4 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByMaxDateFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by max date evaluations'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByStartDateFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByStartDateFilter.php new file mode 100644 index 000000000..1d694d27c --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/ByStartDateFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by start date evaluations'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/CurrentEvaluationsFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/CurrentEvaluationsFilter.php new file mode 100644 index 000000000..19b7ac726 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Filter/EvaluationFilters/CurrentEvaluationsFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::EVAL_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by current evaluations'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CurrentActionFilter.php b/src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CurrentActionFilter.php new file mode 100644 index 000000000..c77f9c662 --- /dev/null +++ b/src/Bundle/ChillPersonBundle/Export/Filter/SocialWorkFilters/CurrentActionFilter.php @@ -0,0 +1,55 @@ +andWhere( + $qb->expr()->in('', ':') + ) + ->setParameter('', $data[]); + } + + public function applyOn(): string + { + return Declarations::SOCIAL_WORK_ACTION_TYPE; + } + + public function buildForm(FormBuilderInterface $builder) + { + $builder->add(); + } + + public function describeAction($data, $format = 'string'): array + { + return ['', [ + ]]; + } + + public function getTitle(): string + { + return 'Filter by current actions'; + } +} \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/config/services/exports_evaluation.yaml b/src/Bundle/ChillPersonBundle/config/services/exports_evaluation.yaml index e21e0b6c1..bffde2abc 100644 --- a/src/Bundle/ChillPersonBundle/config/services/exports_evaluation.yaml +++ b/src/Bundle/ChillPersonBundle/config/services/exports_evaluation.yaml @@ -23,6 +23,31 @@ services: tags: - { name: chill.export_filter, alias: accompanyingcourse_maxdate_filter } + Chill\PersonBundle\Export\Filter\EvaluationFilters\ByStartDateFilter: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_filter, alias: evaluation_bystartdate_filter } + + Chill\PersonBundle\Export\Filter\EvaluationFilters\ByEndDateFilter: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_filter, alias: evaluation_byenddate_filter } + + Chill\PersonBundle\Export\Filter\EvaluationFilters\ByMaxDateFilter: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_filter, alias: evaluation_bymaxdate_filter } + + Chill\PersonBundle\Export\Filter\EvaluationFilters\CurrentEvaluationsFilter: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_filter, alias: evaluation_currentevaluations_filter } + + ## Aggregators chill.person.export.aggregator_evaluationtype: class: Chill\PersonBundle\Export\Aggregator\EvaluationAggregators\EvaluationTypeAggregator @@ -30,4 +55,21 @@ services: autoconfigure: true tags: - { name: chill.export_aggregator, alias: accompanyingcourse_evaluationtype_aggregator } - \ No newline at end of file + + Chill\PersonBundle\Export\Aggregator\EvaluationAggregators\ByStartDateAggregator: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_aggregator, alias: evaluation_bystartdate_aggregator } + + Chill\PersonBundle\Export\Aggregator\EvaluationAggregators\ByEndDateAggregator: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_aggregator, alias: evaluation_byenddate_aggregator } + + Chill\PersonBundle\Export\Aggregator\EvaluationAggregators\ByMaxDateAggregator: + autowire: true + autoconfigure: true + tags: + - { name: chill.export_aggregator, alias: evaluation_bymaxdate_aggregator } diff --git a/src/Bundle/ChillPersonBundle/config/services/exports_social_actions.yaml b/src/Bundle/ChillPersonBundle/config/services/exports_social_actions.yaml index 450899659..28401c3b3 100644 --- a/src/Bundle/ChillPersonBundle/config/services/exports_social_actions.yaml +++ b/src/Bundle/ChillPersonBundle/config/services/exports_social_actions.yaml @@ -37,6 +37,8 @@ services: tags: - { name: chill.export_filter, alias: social_work_actions_treatingagent_filter } + Chill\PersonBundle\Export\Filter\SocialWorkFilters\CurrentActionFilter: + ## AGGREGATORS chill.person.export.aggregator_action_type: class: Chill\PersonBundle\Export\Aggregator\SocialWorkAggregators\ActionTypeAggregator @@ -86,3 +88,5 @@ services: autoconfigure: true tags: - { name: chill.export_aggregator, alias: social_work_actions_goal_result_aggregator } + + Chill\PersonBundle\Export\Aggregator\SocialWorkAggregators\CurrentActionAggregator: \ No newline at end of file diff --git a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml index e39602dd3..9243a51f8 100644 --- a/src/Bundle/ChillPersonBundle/translations/messages.fr.yml +++ b/src/Bundle/ChillPersonBundle/translations/messages.fr.yml @@ -559,6 +559,16 @@ Group by number of actions: Grouper les parcours par nombre d’actions Filter by creator: Filtrer les parcours par créateur Filter by creator job: Filtrer les parcours par métier du créateur Group by creator job: Grouper les parcours par métier du créateur + +Filter by current actions: Filtrer les actions en cours +Group by current actions: Grouper les actions en cours +Filter by start date evaluations: Filtrer les évaluations par date de début +Filter by end date evaluations: Filtrer les évaluations par date de fin +Filter by max date evaluations: Filtrer les évaluations par date d'échéance +Filter by current evaluations: Filtrer les évaluations en cours +Group by start date evaluations: Grouper les évaluations par semaine/mois/année de la date de début +Group by end date evaluations: Grouper les évaluations par semaine/mois/année de la date de fin +Group by max date evaluations: Grouper les évaluations par semaine/mois/année de la date d'échéance ## social actions filters/aggr Filter by treating agent scope: Filtrer les actions par service de l'agent traitant