From eefab601da940d60bef42bf6972b37d546091981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Mon, 4 Dec 2017 21:24:01 -0800 Subject: [PATCH] Reinitialize offset if greater than number of unread items --- server/ui/controller/unread.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/server/ui/controller/unread.go b/server/ui/controller/unread.go index e0f120a0..2c6be4b9 100644 --- a/server/ui/controller/unread.go +++ b/server/ui/controller/unread.go @@ -16,18 +16,23 @@ func (c *Controller) ShowUnreadPage(ctx *core.Context, request *core.Request, re builder := c.store.GetEntryQueryBuilder(user.ID, user.Timezone) builder.WithStatus(model.EntryStatusUnread) - builder.WithOrder(model.DefaultSortingOrder) - builder.WithDirection(user.EntryDirection) - builder.WithOffset(offset) - builder.WithLimit(nbItemsPerPage) - - entries, err := builder.GetEntries() + countUnread, err := builder.CountEntries() if err != nil { response.HTML().ServerError(err) return } - countUnread, err := builder.CountEntries() + if offset >= countUnread { + offset = 0 + } + + builder = c.store.GetEntryQueryBuilder(user.ID, user.Timezone) + builder.WithStatus(model.EntryStatusUnread) + builder.WithOrder(model.DefaultSortingOrder) + builder.WithDirection(user.EntryDirection) + builder.WithOffset(offset) + builder.WithLimit(nbItemsPerPage) + entries, err := builder.GetEntries() if err != nil { response.HTML().ServerError(err) return