Example #1
0
 /**
  * @param Request $request
  *
  * @return Response
  */
 public function indexAction(Request $request)
 {
     $criteria = $this->config->getCriteria();
     $sorting = $this->config->getSorting();
     $repository = $this->getRepository();
     if ($this->config->isPaginated()) {
         $resources = $this->resourceResolver->getResource($repository, 'createPaginator', array($criteria, $sorting));
         $resources->setCurrentPage($request->get('page', 1), true, true);
         $resources->setMaxPerPage($this->config->getPaginationMaxPerPage());
         if ($this->config->isApiRequest()) {
             $resources = $this->getPagerfantaFactory()->createRepresentation($resources, new Route($request->attributes->get('_route'), $request->attributes->get('_route_params')));
         }
     } else {
         $resources = $this->resourceResolver->getResource($repository, 'findBy', array($criteria, $sorting, $this->config->getLimit()));
     }
     $view = $this->view()->setTemplate($this->config->getTemplate('index.html'))->setTemplateVar($this->config->getPluralResourceName())->setData($resources);
     return $this->handleView($view);
 }