From 920d88599a077a7624574345243caf45c6bc5820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Thu, 27 Oct 2016 09:41:19 +0200 Subject: Fixed entries export filtered with a tag Fix #2505 --- .../CoreBundle/Controller/ExportController.php | 23 ++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/Wallabag/CoreBundle/Controller/ExportController.php') diff --git a/src/Wallabag/CoreBundle/Controller/ExportController.php b/src/Wallabag/CoreBundle/Controller/ExportController.php index 6191d5d7..79653cfe 100644 --- a/src/Wallabag/CoreBundle/Controller/ExportController.php +++ b/src/Wallabag/CoreBundle/Controller/ExportController.php @@ -4,8 +4,10 @@ namespace Wallabag\CoreBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Wallabag\CoreBundle\Entity\Entry; +use Wallabag\CoreBundle\Entity\Tag; /** * The try/catch can be removed once all formats will be implemented. @@ -51,15 +53,24 @@ class ExportController extends Controller * * @return \Symfony\Component\HttpFoundation\Response */ - public function downloadEntriesAction($format, $category) + public function downloadEntriesAction(Request $request, $format, $category) { $method = ucfirst($category); $methodBuilder = 'getBuilderFor'.$method.'ByUser'; - $entries = $this->getDoctrine() - ->getRepository('WallabagCoreBundle:Entry') - ->$methodBuilder($this->getUser()->getId()) - ->getQuery() - ->getResult(); + + if ($category == 'tag_entries') { + $tag = $this->getDoctrine()->getRepository('WallabagCoreBundle:Tag')->findOneBySlug($request->query->get('tag')); + + $entries = $this->getDoctrine() + ->getRepository('WallabagCoreBundle:Entry') + ->findAllByTagId($this->getUser()->getId(), $tag->getId()); + } else { + $entries = $this->getDoctrine() + ->getRepository('WallabagCoreBundle:Entry') + ->$methodBuilder($this->getUser()->getId()) + ->getQuery() + ->getResult(); + } try { return $this->get('wallabag_core.helper.entries_export') -- cgit v1.2.3