unread.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2017 Frédéric Guillot. All rights reserved.
  2. // Use of this source code is governed by the Apache 2.0
  3. // license that can be found in the LICENSE file.
  4. package controller
  5. import (
  6. "github.com/miniflux/miniflux2/model"
  7. "github.com/miniflux/miniflux2/server/core"
  8. )
  9. func (c *Controller) ShowUnreadPage(ctx *core.Context, request *core.Request, response *core.Response) {
  10. user := ctx.GetLoggedUser()
  11. offset := request.GetQueryIntegerParam("offset", 0)
  12. builder := c.store.GetEntryQueryBuilder(user.ID, user.Timezone)
  13. builder.WithStatus(model.EntryStatusUnread)
  14. builder.WithOrder(model.DefaultSortingOrder)
  15. builder.WithDirection(model.DefaultSortingDirection)
  16. builder.WithOffset(offset)
  17. builder.WithLimit(NbItemsPerPage)
  18. entries, err := builder.GetEntries()
  19. if err != nil {
  20. response.Html().ServerError(err)
  21. return
  22. }
  23. countUnread, err := builder.CountEntries()
  24. if err != nil {
  25. response.Html().ServerError(err)
  26. return
  27. }
  28. response.Html().Render("unread", tplParams{
  29. "user": user,
  30. "countUnread": countUnread,
  31. "entries": entries,
  32. "pagination": c.getPagination(ctx.GetRoute("unread"), countUnread, offset),
  33. "menu": "unread",
  34. "csrf": ctx.GetCsrfToken(),
  35. })
  36. }