mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
[CRUD] filter by basis on person by default in EntityPersonCRUDController
A new method `filterQueryEntitiesByPerson` allow to filter entities by person in `EntityPersonCRUDController`.
This commit is contained in:
parent
937792fa2d
commit
e703419513
@ -100,7 +100,7 @@ Version 1.5.12
|
||||
Master branch
|
||||
=============
|
||||
|
||||
|
||||
- [CRUD] add step delete
|
||||
- [CRUD] improve index view in person CRUD
|
||||
- [CRUD] filter by basis on person by default in EntityPersonCRUDController
|
||||
|
||||
|
@ -19,8 +19,8 @@ namespace Chill\PersonBundle\CRUD\Controller;
|
||||
|
||||
use Chill\MainBundle\CRUD\Controller\CRUDController;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Chill\PersonBundle\Entity\Person;
|
||||
use Doctrine\ORM\QueryBuilder;
|
||||
|
||||
/**
|
||||
* CRUD Controller for entities attached to a Person
|
||||
@ -130,5 +130,33 @@ class EntityPersonCRUDController extends CRUDController
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Override the base method to add a filtering step to a person.
|
||||
*
|
||||
* @param string $action
|
||||
* @param Request $request
|
||||
* @return QueryBuilder
|
||||
*/
|
||||
protected function buildQueryEntities(string $action, Request $request)
|
||||
{
|
||||
$qb = parent::buildQueryEntities($action, $request);
|
||||
|
||||
return $this->filterQueryEntitiesByPerson($action, $qb, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a where clause to the buildQuery
|
||||
*
|
||||
* @param string $action
|
||||
* @param \Chill\PersonBundle\CRUD\Controller\QueryBuilder $qb
|
||||
* @param Request $request
|
||||
* @return \Chill\PersonBundle\CRUD\Controller\QueryBuilder
|
||||
*/
|
||||
protected function filterQueryEntitiesByPerson(string $action, QueryBuilder $qb, Request $request): QueryBuilder
|
||||
{
|
||||
$qb->andWhere($qb->expr()->eq('e.person', ':person'));
|
||||
$qb->setParameter('person', $this->getPerson($request));
|
||||
|
||||
return $qb;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user