summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-11-04 20:28:07 +0100
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-11-07 11:41:09 +0100
commit86fb1a0cb13de00a5ba49e29efa35573c01c9821 (patch)
tree3829d2b628ca20959c4e2bfb8b92ed5ee0aec923
parentbe5607e510f410ac82247c3b4b8a4bc6504e7cee (diff)
downloadgitea-86fb1a0cb13de00a5ba49e29efa35573c01c9821.tar.gz
gitea-86fb1a0cb13de00a5ba49e29efa35573c01c9821.zip
Add Pagination to Releases-page
-rw-r--r--models/release.go7
-rw-r--r--routers/repo/release.go9
-rw-r--r--templates/repo/release/list.tmpl1
3 files changed, 14 insertions, 3 deletions
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/repo/release/list.tmpl b/templates/repo/release/list.tmpl
index b9b1b7c2f4..c22897c51e 100644
--- a/templates/repo/release/list.tmpl
+++ b/templates/repo/release/list.tmpl
@@ -75,6 +75,7 @@
</li>
{{end}}
</ul>
+ {{template "admin/base/page" .}}
</div>
</div>
{{template "base/footer" .}}