aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-12-04 21:24:01 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-12-04 21:24:01 -0800
commiteefab601da940d60bef42bf6972b37d546091981 (patch)
tree64408598b062985bfcaa04c7138bb28f6d32182e
parent56e9a2fdd676dc81968e27a71226f399714b4420 (diff)
Reinitialize offset if greater than number of unread items
-rw-r--r--server/ui/controller/unread.go19
1 files changed, 12 insertions, 7 deletions
diff --git a/server/ui/controller/unread.go b/server/ui/controller/unread.go
index e0f120a..2c6be4b 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