From 9fb6ac830fa669beef1dd11070421262c073192c Mon Sep 17 00:00:00 2001 From: Francois Gravelaine Date: Mon, 27 Jul 2015 23:20:32 +0200 Subject: Adds pagerfanta paginator everywhere, modifies article routing. Change API for is_starred and is_archived --- .../CoreBundle/Controller/EntryController.php | 42 ++++++++++++++-------- .../CoreBundle/Controller/RssController.php | 21 ++++++----- 2 files changed, 39 insertions(+), 24 deletions(-) (limited to 'src/Wallabag/CoreBundle/Controller') diff --git a/src/Wallabag/CoreBundle/Controller/EntryController.php b/src/Wallabag/CoreBundle/Controller/EntryController.php index 4a7a0644..49714d02 100644 --- a/src/Wallabag/CoreBundle/Controller/EntryController.php +++ b/src/Wallabag/CoreBundle/Controller/EntryController.php @@ -89,60 +89,72 @@ class EntryController extends Controller /** * Shows unread entries for current user. * - * @Route("/unread", name="unread") + * @Route("/unread/list/{page}", name="unread", defaults={"page" = "1"}) * * @return \Symfony\Component\HttpFoundation\Response */ - public function showUnreadAction() + public function showUnreadAction($page) { - // TODO change pagination $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') - ->findUnreadByUser($this->getUser()->getId(), 0); + ->findUnreadByUser($this->getUser()->getId()); + + $entries->setCurrentPage($page); return $this->render( 'WallabagCoreBundle:Entry:entries.html.twig', - array('entries' => $entries) + array( + 'entries' => $entries, + 'currentPage' => $page + ) ); } /** * Shows read entries for current user. * - * @Route("/archive", name="archive") + * @Route("/archive/list/{page}", name="archive", defaults={"page" = "1"}) * * @return \Symfony\Component\HttpFoundation\Response */ - public function showArchiveAction() + public function showArchiveAction($page) { - // TODO change pagination $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') - ->findArchiveByUser($this->getUser()->getId(), 0); + ->findArchiveByUser($this->getUser()->getId()); + + $entries->setCurrentPage($page); return $this->render( 'WallabagCoreBundle:Entry:entries.html.twig', - array('entries' => $entries) + array( + 'entries' => $entries, + 'currentPage' => $page + ) ); } /** * Shows starred entries for current user. * - * @Route("/starred", name="starred") + * @Route("/starred/list/{page}", name="starred", defaults={"page" = "1"}) * * @return \Symfony\Component\HttpFoundation\Response */ - public function showStarredAction() + public function showStarredAction($page) { - // TODO change pagination $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') - ->findStarredByUser($this->getUser()->getId(), 0); + ->findStarredByUser($this->getUser()->getId()); + + $entries->setCurrentPage($page); return $this->render( 'WallabagCoreBundle:Entry:entries.html.twig', - array('entries' => $entries) + array( + 'entries' => $entries, + 'currentPage' => $page + ) ); } diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php index 86754e15..8428dce0 100644 --- a/src/Wallabag/CoreBundle/Controller/RssController.php +++ b/src/Wallabag/CoreBundle/Controller/RssController.php @@ -23,11 +23,12 @@ class RssController extends Controller $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findUnreadByUser( - $user->getId(), - 0, - $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') + $user->getId() ); + $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); + $entries->setMaxPerPage($perPage); + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( 'type' => 'unread', 'entries' => $entries, @@ -47,11 +48,12 @@ class RssController extends Controller $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findArchiveByUser( - $user->getId(), - 0, - $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') + $user->getId() ); + $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); + $entries->setMaxPerPage($perPage); + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( 'type' => 'archive', 'entries' => $entries, @@ -71,11 +73,12 @@ class RssController extends Controller $entries = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findStarredByUser( - $user->getId(), - 0, - $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') + $user->getId() ); + $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); + $entries->setMaxPerPage($perPage); + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( 'type' => 'starred', 'entries' => $entries, -- cgit v1.2.3