Merge branch '693-filter-acp-by-user-job' into 'master'

693 on doit utiliser le métier du référent, et pas le métier du parcours

See merge request Chill-Projet/chill-bundles!482
This commit is contained in:
Julien Fastré 2023-02-08 15:59:43 +00:00
commit d6df16973a
4 changed files with 8 additions and 16 deletions

View File

@ -19,7 +19,7 @@ use Doctrine\ORM\QueryBuilder;
use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormBuilderInterface;
use function in_array; use function in_array;
final class JobAggregator implements AggregatorInterface final class UserJobAggregator implements AggregatorInterface
{ {
private UserJobRepository $jobRepository; private UserJobRepository $jobRepository;
@ -40,11 +40,11 @@ final class JobAggregator implements AggregatorInterface
public function alterQuery(QueryBuilder $qb, $data) public function alterQuery(QueryBuilder $qb, $data)
{ {
if (!in_array('acpjob', $qb->getAllAliases(), true)) { if (!in_array('acpuser', $qb->getAllAliases(), true)) {
$qb->leftJoin('acp.job', 'acpjob'); $qb->leftJoin('acp.user', 'acpuser');
} }
$qb->addSelect('IDENTITY(acp.job) AS job_aggregator'); $qb->addSelect('IDENTITY(acpuser.userJob) AS job_aggregator');
$qb->addGroupBy('job_aggregator'); $qb->addGroupBy('job_aggregator');
} }

View File

@ -126,12 +126,4 @@ class UserJobFilter implements FilterInterface
{ {
return 'Filter by user job'; return 'Filter by user job';
} }
private function getUserJob(): UserJob
{
/** @var User $user */
$user = $this->security->getUser();
return $user->getUserJob();
}
} }

View File

@ -13,16 +13,16 @@ namespace Chill\PersonBundle\Tests\Export\Aggregator\AccompanyingCourseAggregato
use Chill\MainBundle\Test\Export\AbstractAggregatorTest; use Chill\MainBundle\Test\Export\AbstractAggregatorTest;
use Chill\PersonBundle\Entity\AccompanyingPeriod; use Chill\PersonBundle\Entity\AccompanyingPeriod;
use Chill\PersonBundle\Export\Aggregator\AccompanyingCourseAggregators\JobAggregator; use Chill\PersonBundle\Export\Aggregator\AccompanyingCourseAggregators\UserJobAggregator;
use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\EntityManagerInterface;
/** /**
* @internal * @internal
* @coversNothing * @coversNothing
*/ */
final class JobAggregatorTest extends AbstractAggregatorTest final class UserJobAggregatorTest extends AbstractAggregatorTest
{ {
private JobAggregator $aggregator; private UserJobAggregator $aggregator;
protected function setUp(): void protected function setUp(): void
{ {

View File

@ -136,7 +136,7 @@ services:
- { name: chill.export_aggregator, alias: accompanyingcourse_scope_aggregator } - { name: chill.export_aggregator, alias: accompanyingcourse_scope_aggregator }
chill.person.export.aggregator_referrer_job: chill.person.export.aggregator_referrer_job:
class: Chill\PersonBundle\Export\Aggregator\AccompanyingCourseAggregators\JobAggregator class: Chill\PersonBundle\Export\Aggregator\AccompanyingCourseAggregators\UserJobAggregator
tags: tags:
- { name: chill.export_aggregator, alias: accompanyingcourse_referrer_job_aggregator } - { name: chill.export_aggregator, alias: accompanyingcourse_referrer_job_aggregator }