+ /**
+ * Edit an entry content.
+ *
+ * @param Request $request
+ * @param Entry $entry
+ *
+ * @Route("/edit/{id}", requirements={"id" = "\d+"}, name="edit")
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function editEntryAction(Request $request, Entry $entry)
+ {
+ $this->checkUserAction($entry);
+
+ $form = $this->createForm(EditEntryType::class, $entry);
+
+ $form->handleRequest($request);
+
+ if ($form->isValid()) {
+ $em = $this->getDoctrine()->getManager();
+ $em->persist($entry);
+ $em->flush();
+
+ $this->get('session')->getFlashBag()->add(
+ 'notice',
+ 'Entry updated'
+ );
+
+ return $this->redirect($this->generateUrl('view', array('id' => $entry->getId())));
+ }
+
+ return $this->render('WallabagCoreBundle:Entry:edit.html.twig', array(
+ 'form' => $form->createView(),
+ ));
+ }
+
+ /**
+ * Shows all entries for current user.
+ *
+ * @param Request $request
+ * @param int $page
+ *
+ * @Route("/all/list/{page}", name="all", defaults={"page" = "1"})
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function showAllAction(Request $request, $page)
+ {
+ return $this->showEntries('all', $request, $page);
+ }
+
+ /**
+ * Shows unread entries for current user.
+ *
+ * @param Request $request
+ * @param int $page
+ *
+ * @Route("/unread/list/{page}", name="unread", defaults={"page" = "1"})
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function showUnreadAction(Request $request, $page)
+ {
+ return $this->showEntries('unread', $request, $page);
+ }
+
+ /**
+ * Shows read entries for current user.
+ *
+ * @param Request $request
+ * @param int $page
+ *
+ * @Route("/archive/list/{page}", name="archive", defaults={"page" = "1"})
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function showArchiveAction(Request $request, $page)
+ {
+ return $this->showEntries('archive', $request, $page);
+ }
+
+ /**
+ * Shows starred entries for current user.
+ *
+ * @param Request $request
+ * @param int $page
+ *
+ * @Route("/starred/list/{page}", name="starred", defaults={"page" = "1"})
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ */
+ public function showStarredAction(Request $request, $page)
+ {
+ return $this->showEntries('starred', $request, $page);