mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-11 09:25:25 +00:00
Redirect to the current view instead of homepage
This commit is contained in:
parent
90a0d086a8
commit
9a57653aec
2 changed files with 18 additions and 19 deletions
|
@ -251,7 +251,7 @@ class EntryController extends Controller
|
|||
/**
|
||||
* Shows random entry depending on the given type.
|
||||
*
|
||||
* @param Entry $entry
|
||||
* @param string $type
|
||||
*
|
||||
* @Route("/{type}/random", name="random_entry", requirements={"_locale": "unread|starred|archive|untagged|all"})
|
||||
*
|
||||
|
@ -267,7 +267,7 @@ class EntryController extends Controller
|
|||
$bag->clear();
|
||||
$bag->add('notice', 'flashes.entry.notice.no_random_entry');
|
||||
|
||||
return $this->redirect($this->generateUrl('homepage'));
|
||||
return $this->redirect($this->generateUrl($type));
|
||||
}
|
||||
|
||||
return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()]));
|
||||
|
|
|
@ -435,7 +435,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
|
||||
|
@ -444,26 +444,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
|
||||
|
|
Loading…
Reference in a new issue