mirror of
https://github.com/wallabag/wallabag.git
synced 2025-06-05 23:18:47 +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.
|
* 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"})
|
* @Route("/{type}/random", name="random_entry", requirements={"_locale": "unread|starred|archive|untagged|all"})
|
||||||
*
|
*
|
||||||
|
@ -267,7 +267,7 @@ class EntryController extends Controller
|
||||||
$bag->clear();
|
$bag->clear();
|
||||||
$bag->add('notice', 'flashes.entry.notice.no_random_entry');
|
$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()]));
|
return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()]));
|
||||||
|
|
|
@ -435,7 +435,7 @@ class EntryRepository extends EntityRepository
|
||||||
* Returns a random entry, filtering by status.
|
* Returns a random entry, filtering by status.
|
||||||
*
|
*
|
||||||
* @param $userId
|
* @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\NoResultException
|
||||||
* @throws \Doctrine\ORM\NonUniqueResultException
|
* @throws \Doctrine\ORM\NonUniqueResultException
|
||||||
|
@ -444,26 +444,25 @@ class EntryRepository extends EntityRepository
|
||||||
*
|
*
|
||||||
* @return Entry
|
* @return Entry
|
||||||
*/
|
*/
|
||||||
public function getRandomEntry($userId, $status = '')
|
public function getRandomEntry($userId, $type = '')
|
||||||
{
|
{
|
||||||
$qb = $this->getQueryBuilderByUser($userId)
|
$qb = $this->getQueryBuilderByUser($userId)
|
||||||
->select('MIN(e.id)', 'MAX(e.id)');
|
->select('MIN(e.id)', 'MAX(e.id)');
|
||||||
|
|
||||||
if ('unread' === $status) {
|
switch ($type) {
|
||||||
$qb->andWhere('e.isArchived = false');
|
case 'unread':
|
||||||
}
|
$qb->andWhere('e.isArchived = false');
|
||||||
|
break;
|
||||||
if ('archive' === $status) {
|
case 'archive':
|
||||||
$qb->andWhere('e.isArchived = true');
|
$qb->andWhere('e.isArchived = true');
|
||||||
}
|
break;
|
||||||
|
case 'starred':
|
||||||
if ('starred' === $status) {
|
$qb->andWhere('e.isStarred = true');
|
||||||
$qb->andWhere('e.isStarred = true');
|
break;
|
||||||
}
|
case 'untagged':
|
||||||
|
$qb->leftJoin('e.tags', 't');
|
||||||
if ('untagged' === $status) {
|
$qb->andWhere('t.id is null');
|
||||||
$qb->leftJoin('e.tags', 't');
|
break;
|
||||||
$qb->andWhere('t.id is null');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$idLimits = $qb
|
$idLimits = $qb
|
||||||
|
|
Loading…
Reference in a new issue