mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-13 13:54:23 +00:00
HasNoActivityFilter (in activity)
This commit is contained in:
parent
0e553594a0
commit
6d0622aa38
@ -11,10 +11,12 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
|
namespace Chill\ActivityBundle\Export\Filter\ACPFilters;
|
||||||
|
|
||||||
|
use Chill\ActivityBundle\Entity\Activity;
|
||||||
use Chill\MainBundle\Export\FilterInterface;
|
use Chill\MainBundle\Export\FilterInterface;
|
||||||
use Chill\PersonBundle\Export\Declarations;
|
use Chill\PersonBundle\Export\Declarations;
|
||||||
use Doctrine\ORM\QueryBuilder;
|
use Doctrine\ORM\QueryBuilder;
|
||||||
use Symfony\Component\Form\FormBuilderInterface;
|
use Symfony\Component\Form\FormBuilderInterface;
|
||||||
|
use Doctrine\ORM\Query\Expr;
|
||||||
|
|
||||||
class HasNoActivityFilter implements FilterInterface
|
class HasNoActivityFilter implements FilterInterface
|
||||||
{
|
{
|
||||||
@ -25,11 +27,19 @@ class HasNoActivityFilter implements FilterInterface
|
|||||||
|
|
||||||
public function alterQuery(QueryBuilder $qb, $data)
|
public function alterQuery(QueryBuilder $qb, $data)
|
||||||
{
|
{
|
||||||
|
if (!in_array('activity', $qb->getAllAliases(), true)) {
|
||||||
|
$qb->join(Activity::class, 'activity', Expr\Join::WITH, 'activity.accompanyingPeriod = acp');
|
||||||
|
}
|
||||||
|
|
||||||
$qb
|
$qb
|
||||||
->andWhere(
|
//->andWhere('COUNT(acp.activities) IS NULL')
|
||||||
$qb->expr()->in('', ':')
|
//TODO check this:
|
||||||
)
|
->andWhere('
|
||||||
->setParameter('', $data[]);
|
NOT EXISTS (
|
||||||
|
SELECT 1 FROM '. Activity::class .' activity
|
||||||
|
WHERE activity.accompanyingPeriod = acp
|
||||||
|
)
|
||||||
|
');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function applyOn(): string
|
public function applyOn(): string
|
||||||
@ -39,13 +49,12 @@ class HasNoActivityFilter implements FilterInterface
|
|||||||
|
|
||||||
public function buildForm(FormBuilderInterface $builder)
|
public function buildForm(FormBuilderInterface $builder)
|
||||||
{
|
{
|
||||||
$builder->add();
|
//no form needed
|
||||||
}
|
}
|
||||||
|
|
||||||
public function describeAction($data, $format = 'string'): array
|
public function describeAction($data, $format = 'string'): array
|
||||||
{
|
{
|
||||||
return ['', [
|
return ['Filtered acp which has no activities'];
|
||||||
]];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getTitle(): string
|
public function getTitle(): string
|
||||||
|
@ -278,6 +278,7 @@ Filter activity by userscope: Filtrer les activités par service du créateur
|
|||||||
Accepted userscope: Services
|
Accepted userscope: Services
|
||||||
|
|
||||||
Filter acp which has no activity: Filtrer les parcours qui n’ont pas d’activité
|
Filter acp which has no activity: Filtrer les parcours qui n’ont pas d’activité
|
||||||
|
Filtered acp which has no activities: Filtrés les parcours qui n'ont pas d'activités
|
||||||
Group acp by activity number: Grouper les parcours par nombre d’activité
|
Group acp by activity number: Grouper les parcours par nombre d’activité
|
||||||
Group activity by sentreceived: Grouper les activités par envoyé / reçu
|
Group activity by sentreceived: Grouper les activités par envoyé / reçu
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user