Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @Route("/list/{type}/{page}/{sort}/{order}", defaults={"page" = 1, "sort" = "id", "order" = "desc", "type" = "all"}
- * , name="ticket_list", requirements={ "sort": "id|auteur|date|statut|categorie|assignement",
- * "order": "asc|desc", "type": "all|closed"})
- * @ParamConverter("adapter", class="TicketBundle:Tickets", options={
- * "repository_method" = "paginatorAll",
- * "mapping"={"sort": "sort", "order": "order", "type": "type"},
- * "map_method_signature" = true
- * })
- * @Security("has_role('ROLE_MODERATEUR')")
- * @param string $type
- * @param int $page
- * @param string $sort
- * @param string $order
- * @param AdapterInterface $adapter
- * @return Response
- */
- public function allTicketsAction($type, $page, $sort, $order, AdapterInterface $adapter)
- {
- $order = strtolower($order);
- $opposit = ["desc" => "asc", "asc" => "desc"];
- $criteras = ['id', 'auteur', 'date', "statut", "categorie", "assignement"];
- try {
- $pagerfanta = new Pagerfanta($adapter);
- $tickets = $pagerfanta->setMaxPerPage(50)->setCurrentPage($page)->getCurrentPageResults();
- } catch (NotValidCurrentPageException $e) {
- return $this->redirectToRoute("ticket_list", ['page' => 1, 'sort' => $sort, 'order' => $order]);
- }
- $twigArray = ['tickets' => $tickets, 'pager' => $pagerfanta];
- $twigArray['parameters'] = ['page' => $page, 'sort' => $sort, 'order' => $order];
- foreach ($criteras as $critera) {
- $order = $sort == $critera ? $opposit[$order] : "desc";
- $params = ["page" => $page, "sort" => $critera, "order" => $order, "type" => $type];
- $twigArray['routes'][$critera] = $this->generateUrl("ticket_list", $params);
- }
- return $this->render("TicketBundle:Default:ticket_list.html.twig", $twigArray);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement