diff --git a/models/release.go b/models/release.go index 0e1edd121b..4841ae7ba3 100644 --- a/models/release.go +++ b/models/release.go @@ -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 } diff --git a/routers/repo/release.go b/routers/repo/release.go index 9d87f0967e..afdc61a22a 100644 --- a/routers/repo/release.go +++ b/routers/repo/release.go @@ -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) diff --git a/templates/admin/base/page.tmpl b/templates/admin/base/page.tmpl deleted file mode 100644 index 564d7dec34..0000000000 --- a/templates/admin/base/page.tmpl +++ /dev/null @@ -1,23 +0,0 @@ - {{with .Page}} - {{if gt .TotalPages 1}} -
- {{end}} - {{end}} diff --git a/templates/admin/org/list.tmpl b/templates/admin/org/list.tmpl index 6b9423d03e..244f915c97 100644 --- a/templates/admin/org/list.tmpl +++ b/templates/admin/org/list.tmpl @@ -40,7 +40,7 @@ - {{template "admin/base/page" .}} + {{template "base/paginate" .}} diff --git a/templates/admin/repo/list.tmpl b/templates/admin/repo/list.tmpl index 4b1d98b94b..8db51489d7 100644 --- a/templates/admin/repo/list.tmpl +++ b/templates/admin/repo/list.tmpl @@ -44,7 +44,7 @@ - {{template "admin/base/page" .}} + {{template "base/paginage" .}} diff --git a/templates/admin/user/list.tmpl b/templates/admin/user/list.tmpl index 8c7a0c9a90..f1ebf4a340 100644 --- a/templates/admin/user/list.tmpl +++ b/templates/admin/user/list.tmpl @@ -45,7 +45,7 @@ - {{template "admin/base/page" .}} + {{template "base/paginate" .}} diff --git a/templates/explore/page.tmpl b/templates/base/paginate.tmpl similarity index 64% rename from templates/explore/page.tmpl rename to templates/base/paginate.tmpl index fd3e7a7a82..afe34c632f 100644 --- a/templates/explore/page.tmpl +++ b/templates/base/paginate.tmpl @@ -2,6 +2,7 @@ {{if gt .TotalPages 1}} {{end}} diff --git a/templates/explore/organizations.tmpl b/templates/explore/organizations.tmpl index 6953414e85..c44456be4c 100644 --- a/templates/explore/organizations.tmpl +++ b/templates/explore/organizations.tmpl @@ -27,7 +27,7 @@ {{end}} - {{template "explore/page" .}} + {{template "base/paginate" .}} diff --git a/templates/explore/repos.tmpl b/templates/explore/repos.tmpl index 080a5076f1..eac3f1d26c 100644 --- a/templates/explore/repos.tmpl +++ b/templates/explore/repos.tmpl @@ -6,7 +6,7 @@