From c694f4b0eda024de041a606ce381eb92c5c6ff65 Mon Sep 17 00:00:00 2001 From: Jeremy Benoist Date: Fri, 12 Oct 2018 22:13:33 +0200 Subject: Redirect to the current view instead of homepage --- .../CoreBundle/Repository/EntryRepository.php | 33 +++++++++++----------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'src/Wallabag/CoreBundle/Repository/EntryRepository.php') diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index 6941eaee..702646fe 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php @@ -431,7 +431,7 @@ class EntryRepository extends EntityRepository * Returns a random entry, filtering by status. * * @param $userId - * @param string $status can be unread, archive or starred + * @param string $type can be unread, archive, starred, etc * * @throws \Doctrine\ORM\NoResultException * @throws \Doctrine\ORM\NonUniqueResultException @@ -440,26 +440,25 @@ class EntryRepository extends EntityRepository * * @return Entry */ - public function getRandomEntry($userId, $status = '') + public function getRandomEntry($userId, $type = '') { $qb = $this->getQueryBuilderByUser($userId) ->select('MIN(e.id)', 'MAX(e.id)'); - if ('unread' === $status) { - $qb->andWhere('e.isArchived = false'); - } - - if ('archive' === $status) { - $qb->andWhere('e.isArchived = true'); - } - - if ('starred' === $status) { - $qb->andWhere('e.isStarred = true'); - } - - if ('untagged' === $status) { - $qb->leftJoin('e.tags', 't'); - $qb->andWhere('t.id is null'); + switch ($type) { + case 'unread': + $qb->andWhere('e.isArchived = false'); + break; + case 'archive': + $qb->andWhere('e.isArchived = true'); + break; + case 'starred': + $qb->andWhere('e.isStarred = true'); + break; + case 'untagged': + $qb->leftJoin('e.tags', 't'); + $qb->andWhere('t.id is null'); + break; } $idLimits = $qb -- cgit v1.2.3