Fix release display and correct paging (#2080)

This commit is contained in:
Lauris BH
2017-06-29 18:11:38 +03:00
committed by Lunny Xiao
parent 33f3165296
commit 783b1967e2
5 changed files with 136 additions and 40 deletions

View File

@ -34,22 +34,21 @@ func GetRelease(ctx *context.APIContext) {
// ListReleases list a repository's releases
func ListReleases(ctx *context.APIContext) {
releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID, 1, 2147483647)
if err != nil {
ctx.Error(500, "GetReleasesByRepoID", err)
return
}
rels := make([]*api.Release, len(releases))
access, err := models.AccessLevel(ctx.User.ID, ctx.Repo.Repository)
if err != nil {
ctx.Error(500, "AccessLevel", err)
return
}
releases, err := models.GetReleasesByRepoID(ctx.Repo.Repository.ID, models.FindReleasesOptions{
IncludeDrafts: access >= models.AccessModeWrite,
}, 1, 2147483647)
if err != nil {
ctx.Error(500, "GetReleasesByRepoID", err)
return
}
rels := make([]*api.Release, len(releases))
for i, release := range releases {
if release.IsDraft && access < models.AccessModeWrite {
// hide drafts from users without push access
continue
}
if err := release.LoadAttributes(); err != nil {
ctx.Error(500, "LoadAttributes", err)
return