Feature: [export] filter accompanying period which has no action - work

This commit is contained in:
Julien Fastré 2022-11-02 13:44:04 +01:00
parent 7f9e8c5a7b
commit e6553e71ee
2 changed files with 5 additions and 9 deletions

View File

@ -12,10 +12,10 @@ declare(strict_types=1);
namespace Chill\PersonBundle\Export\Filter\AccompanyingCourseFilters;
use Chill\MainBundle\Export\FilterInterface;
use Chill\PersonBundle\Entity\AccompanyingPeriod\AccompanyingPeriodWork;
use Chill\PersonBundle\Export\Declarations;
use Doctrine\ORM\QueryBuilder;
use Symfony\Component\Form\FormBuilderInterface;
use function in_array;
class HasNoActionFilter implements FilterInterface
{
@ -24,13 +24,9 @@ class HasNoActionFilter implements FilterInterface
return null;
}
public function alterQuery(QueryBuilder $qb, $data)
public function alterQuery(QueryBuilder $qb, $data): void
{
if (!in_array('acpw', $qb->getAllAliases(), true)) {
$qb->join('acp.works', 'acpw');
}
$qb->andWhere('COUNT(acp.works) IS NULL');
$qb->andWhere('NOT EXISTS (SELECT 1 FROM ' . AccompanyingPeriodWork::class . ' work WHERE work.accompanyingPeriod = acp)');
}
public function applyOn(): string
@ -38,7 +34,7 @@ class HasNoActionFilter implements FilterInterface
return Declarations::ACP_TYPE;
}
public function buildForm(FormBuilderInterface $builder)
public function buildForm(FormBuilderInterface $builder): void
{
// no form
}

View File

@ -569,7 +569,7 @@ Filter by which has no referrer: Filtrer les parcours sans référent
"Filtered acp which has no referrer on date: %date%": "Filtré les parcours sans référent à cette date: %date%"
Has no referrer on this date: N'a pas de référent à cette date
Filter by which has no action: Filtrer les parcours qui nont pas dactions
Filtered acp which has no actions: Filtré les parcours qui n'ont pas d'actions
Filtered acp which has no actions: 'Filtré: uniquement les parcours qui n''ont pas d''actions'
Group by number of actions: Grouper les parcours par nombre dactions
Filter by creator: Filtrer les parcours par créateur
'Filtered by creator: only %creators%': 'Filtré par créateur: uniquement %creators%'