Add Pagination to Releases-page

tokarchuk/v1.17
Kim "BKC" Carlbäcker 8 years ago
parent be5607e510
commit 86fb1a0cb1
  1. 7
      models/release.go
  2. 9
      routers/repo/release.go
  3. 1
      templates/repo/release/list.tmpl

@ -138,8 +138,11 @@ func GetReleaseByID(id int64) (*Release, error) {
}
// GetReleasesByRepoID returns a list of releases of repository.
func GetReleasesByRepoID(repoID int64) (rels []*Release, err error) {
err = x.Desc("created_unix").Find(&rels, Release{RepoID: repoID})
func GetReleasesByRepoID(repoID int64, page, pageSize int) (rels []*Release, err error) {
if page <= 0 {
page = 1
}
err = x.Desc("created_unix").Limit(pageSize, (page-1)*pageSize).Find(&rels, Release{RepoID: repoID})
return rels, err
}

@ -7,6 +7,7 @@ package repo
import (
"fmt"
"github.com/Unknwon/paginater"
"github.com/go-gitea/gitea/models"
"github.com/go-gitea/gitea/modules/auth"
"github.com/go-gitea/gitea/modules/base"
@ -58,7 +59,11 @@ func Releases(ctx *context.Context) {
return
}
releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID)
page := ctx.QueryInt("page")
if page <= 1 {
page = 1
}
releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID, page, 10)
if err != nil {
ctx.Handle(500, "GetReleasesByRepoID", err)
return
@ -141,6 +146,8 @@ func Releases(ctx *context.Context) {
r.Note = markdown.RenderString(r.Note, ctx.Repo.RepoLink, ctx.Repo.Repository.ComposeMetas())
tags = append(tags, r)
}
pager := paginater.New(ctx.Repo.Repository.NumTags, 10, page, 5)
ctx.Data["Page"] = pager
models.SortReleases(tags)
ctx.Data["Releases"] = tags
ctx.HTML(200, RELEASES)

@ -75,6 +75,7 @@
</li>
{{end}}
</ul>
{{template "admin/base/page" .}}
</div>
</div>
{{template "base/footer" .}}

Loading…
Cancel
Save