SocialWork: Current actions filter + aggregator

This commit is contained in:
Mathieu Jaumotte 2022-10-31 11:43:41 +01:00
parent 8527c19073
commit a0fc9d4de5
3 changed files with 22 additions and 9 deletions

View File

@ -25,7 +25,11 @@ class CurrentActionAggregator implements AggregatorInterface
public function alterQuery(QueryBuilder $qb, $data)
{
$qb->addSelect('AS acpw_current_action_aggregator')
$qb
->addSelect('
(CASE true WHEN acpw.startDate IS NULL ELSE false END)
AS acpw_current_action_aggregator
')
->addGroupBy('acpw_current_action_aggregator');
}
@ -45,6 +49,17 @@ class CurrentActionAggregator implements AggregatorInterface
if ('_header' === $value) {
return '';
}
switch ($value) {
case true:
return 'Current action';
case false:
return 'Not current action';
default:
throw new \LogicException(sprintf('The value %s is not valid', $value));
}
};
}

View File

@ -25,11 +25,7 @@ class CurrentActionFilter implements FilterInterface
public function alterQuery(QueryBuilder $qb, $data)
{
$qb
->andWhere(
$qb->expr()->in('', ':')
)
->setParameter('', $data[]);
$qb->andWhere('acpw.startDate IS NULL');
}
public function applyOn(): string
@ -39,13 +35,12 @@ class CurrentActionFilter implements FilterInterface
public function buildForm(FormBuilderInterface $builder)
{
$builder->add();
//no form
}
public function describeAction($data, $format = 'string'): array
{
return ['', [
]];
return ['Filtered by current action'];
}
public function getTitle(): string

View File

@ -562,7 +562,10 @@ 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
Filtered by current action: Filtré les actions en cours
Group by current actions: Grouper les actions en cours
Current action: Actions en cours
Not current action: Actions terminées
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