diff --git a/src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php b/src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php index a1d28483d..55f3bda24 100644 --- a/src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php +++ b/src/Bundle/ChillMainBundle/CRUD/Controller/AbstractCRUDController.php @@ -10,6 +10,7 @@ use Chill\MainBundle\Pagination\PaginatorFactory; use Chill\MainBundle\Pagination\PaginatorInterface; use Chill\MainBundle\Security\Authorization\AuthorizationHelper; use Chill\MainBundle\CRUD\Resolver\Resolver; +use Doctrine\ORM\QueryBuilder; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Translation\TranslatorInterface; @@ -69,7 +70,7 @@ class AbstractCRUDController extends AbstractController * @param Request $request * @return int */ - protected function countEntities(string $action, Request $request, $_format): int + protected function countEntities(string $action, Request $request, string $_format): int { return $this->buildQueryEntities($action, $request) ->select('COUNT(e)') @@ -89,23 +90,23 @@ class AbstractCRUDController extends AbstractController * It returns, by default, a query builder. * */ - protected function queryEntities(string $action, Request $request, string $_format, PaginatorInterface $paginator) + protected function queryEntities(string $action, Request $request, string $_format, PaginatorInterface $paginator): QueryBuilder { - $query = $this->buildQueryEntities($action, $request) + $queryBuilder = $this->buildQueryEntities($action, $request) ->setFirstResult($paginator->getCurrentPage()->getFirstItemNumber()) ->setMaxResults($paginator->getItemsPerPage()); // allow to order queries and return the new query - return $this->orderQuery($action, $query, $request, $paginator, $_format); + return $this->orderQuery($action, $queryBuilder, $request, $paginator, $_format); } /** * Add ordering fields in the query build by self::queryEntities * */ - protected function orderQuery(string $action, $query, Request $request, PaginatorInterface $paginator, $_format) + protected function orderQuery(string $action, QueryBuilder $queryBuilder, Request $request, PaginatorInterface $paginator, string $_format): QueryBuilder { - return $query; + return $queryBuilder; } /** @@ -117,12 +118,8 @@ class AbstractCRUDController extends AbstractController * can add some by using the method `customizeQuery`. * * The alias for the entity is "e". - * - * @param string $action - * @param Request $request - * @return QueryBuilder */ - protected function buildQueryEntities(string $action, Request $request) + protected function buildQueryEntities(string $action, Request $request): QueryBuilder { $qb = $this->getDoctrine()->getManager() ->createQueryBuilder() @@ -135,14 +132,14 @@ class AbstractCRUDController extends AbstractController return $qb; } - protected function customizeQuery(string $action, Request $request, $query): void {} + protected function customizeQuery(string $action, Request $request, QueryBuilder $queryBuilder): void {} /** * Get the result of the query */ - protected function getQueryResult(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, $query) + protected function getQueryResult(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, QueryBuilder $queryBuilder): array { - return $query->getQuery()->getResult(); + return $queryBuilder->getQuery()->getResult(); } protected function onPreIndex(string $action, Request $request, string $_format): ?Response @@ -161,7 +158,7 @@ class AbstractCRUDController extends AbstractController /** * method used by indexAction */ - protected function onPostIndexBuildQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, $query): ?Response + protected function onPostIndexBuildQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, QueryBuilder $queryBuilder): ?Response { return null; } @@ -169,7 +166,7 @@ class AbstractCRUDController extends AbstractController /** * method used by indexAction */ - protected function onPostIndexFetchQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, $entities): ?Response + protected function onPostIndexFetchQuery(string $action, Request $request, string $_format, int $totalItems, PaginatorInterface $paginator, array $entities): ?Response { return null; } @@ -188,7 +185,7 @@ class AbstractCRUDController extends AbstractController /** * called on post fetch entity */ - protected function onPostFetchEntity(string $action, Request $request, $entity, $_format): ?Response + protected function onPostFetchEntity(string $action, Request $request, $entity, string $_format): ?Response { return null; } diff --git a/src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php b/src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php index cab0bcdcb..fd55df30b 100644 --- a/src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php +++ b/src/Bundle/ChillMainBundle/CRUD/Controller/ApiController.php @@ -305,7 +305,8 @@ class ApiController extends AbstractCRUDController if ($response instanceof Response) { return $response; } - + + // TODO: $entity is never set before if (!isset($entity)) { $entity = ''; }