Add pagination to fork list (#17639)

- Resolves #14574
- Adds the necessary code to have pagination working in the forks list of
a repo. The code is mostly in par with the stars/watcher implementation.
tokarchuk/v1.17
Gusted 3 years ago committed by GitHub
parent 257b7171c3
commit c3e020ca34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      routers/web/repo/view.go
  2. 2
      templates/repo/forks.tmpl

@ -935,8 +935,18 @@ func Stars(ctx *context.Context) {
func Forks(ctx *context.Context) {
ctx.Data["Title"] = ctx.Tr("repos.forks")
// TODO: need pagination
forks, err := ctx.Repo.Repository.GetForks(db.ListOptions{})
page := ctx.FormInt("page")
if page <= 0 {
page = 1
}
pager := context.NewPagination(ctx.Repo.Repository.NumForks, models.ItemsPerPage, page, 5)
ctx.Data["Page"] = pager
forks, err := ctx.Repo.Repository.GetForks(db.ListOptions{
Page: pager.Paginater.Current(),
PageSize: models.ItemsPerPage,
})
if err != nil {
ctx.ServerError("GetForks", err)
return
@ -948,6 +958,7 @@ func Forks(ctx *context.Context) {
return
}
}
ctx.Data["Forks"] = forks
ctx.HTML(http.StatusOK, tplForks)

@ -18,5 +18,7 @@
{{end}}
</div>
</div>
{{ template "base/paginate" . }}
</div>
{{template "base/footer" .}}

Loading…
Cancel
Save