diff options
author | Unknwon <u@gogs.io> | 2015-11-15 23:52:46 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-11-15 23:52:46 -0500 |
commit | 18de67380c5049d6a4d10cc3f6f8fd80a9ac7a89 (patch) | |
tree | c5f142fdee161a61867756631ae63b439e7d902f /routers | |
parent | 1a901433e2a27e5bcd29216fdb57082be620b745 (diff) | |
download | gitea-18de67380c5049d6a4d10cc3f6f8fd80a9ac7a89.tar.gz gitea-18de67380c5049d6a4d10cc3f6f8fd80a9ac7a89.zip |
fix #1958
Diffstat (limited to 'routers')
-rw-r--r-- | routers/repo/release.go | 71 |
1 files changed, 27 insertions, 44 deletions
diff --git a/routers/repo/release.go b/routers/repo/release.go index 680ecd1b72..e2a8d6f661 100644 --- a/routers/repo/release.go +++ b/routers/repo/release.go @@ -13,15 +13,12 @@ import ( ) const ( - RELEASES base.TplName = "repo/release/list" - RELEASE_NEW base.TplName = "repo/release/new" - RELEASE_EDIT base.TplName = "repo/release/edit" + RELEASES base.TplName = "repo/release/list" + RELEASE_NEW base.TplName = "repo/release/new" ) func Releases(ctx *middleware.Context) { ctx.Data["Title"] = ctx.Tr("repo.release.releases") - ctx.Data["IsRepoToolbarReleases"] = true - ctx.Data["IsRepoReleaseNew"] = false rawTags, err := ctx.Repo.GitRepo.GetTags() if err != nil { @@ -45,7 +42,7 @@ func Releases(ctx *middleware.Context) { continue } if rel.TagName == rawTag { - rel.Publisher, err = models.GetUserByID(rel.PublisherId) + rel.Publisher, err = models.GetUserByID(rel.PublisherID) if err != nil { ctx.Handle(500, "GetUserById", err) return @@ -105,7 +102,7 @@ func Releases(ctx *middleware.Context) { continue } - rel.Publisher, err = models.GetUserByID(rel.PublisherId) + rel.Publisher, err = models.GetUserByID(rel.PublisherID) if err != nil { ctx.Handle(500, "GetUserById", err) return @@ -140,27 +137,13 @@ func Releases(ctx *middleware.Context) { } func NewRelease(ctx *middleware.Context) { - if !ctx.Repo.IsOwner() { - ctx.Handle(403, "release.ReleasesNew", nil) - return - } - ctx.Data["Title"] = ctx.Tr("repo.release.new_release") ctx.Data["tag_target"] = ctx.Repo.Repository.DefaultBranch - ctx.Data["IsRepoToolbarReleases"] = true - ctx.Data["IsRepoReleaseNew"] = true ctx.HTML(200, RELEASE_NEW) } func NewReleasePost(ctx *middleware.Context, form auth.NewReleaseForm) { - if !ctx.Repo.IsOwner() { - ctx.Handle(403, "release.ReleasesNew", nil) - return - } - ctx.Data["Title"] = ctx.Tr("repo.release.new_release") - ctx.Data["IsRepoToolbarReleases"] = true - ctx.Data["IsRepoReleaseNew"] = true if ctx.HasError() { ctx.HTML(200, RELEASE_NEW) @@ -185,8 +168,8 @@ func NewReleasePost(ctx *middleware.Context, form auth.NewReleaseForm) { } rel := &models.Release{ - RepoId: ctx.Repo.Repository.ID, - PublisherId: ctx.User.Id, + RepoID: ctx.Repo.Repository.ID, + PublisherID: ctx.User.Id, Title: form.Title, TagName: form.TagName, Target: form.Target, @@ -198,67 +181,67 @@ func NewReleasePost(ctx *middleware.Context, form auth.NewReleaseForm) { } if err = models.CreateRelease(ctx.Repo.GitRepo, rel); err != nil { - if err == models.ErrReleaseAlreadyExist { + if models.IsErrReleaseAlreadyExist(err) { + ctx.Data["Err_TagName"] = true ctx.RenderWithErr(ctx.Tr("repo.release.tag_name_already_exist"), RELEASE_NEW, &form) } else { ctx.Handle(500, "CreateRelease", err) } return } - log.Trace("%s Release created: %s/%s:%s", ctx.Req.RequestURI, ctx.User.LowerName, ctx.Repo.Repository.Name, form.TagName) + log.Trace("Release created: %s/%s:%s", ctx.User.LowerName, ctx.Repo.Repository.Name, form.TagName) ctx.Redirect(ctx.Repo.RepoLink + "/releases") } func EditRelease(ctx *middleware.Context) { - if !ctx.Repo.IsOwner() { - ctx.Handle(403, "release.ReleasesEdit", nil) - return - } + ctx.Data["Title"] = ctx.Tr("repo.release.edit_release") + ctx.Data["PageIsEditRelease"] = true tagName := ctx.Params(":tagname") rel, err := models.GetRelease(ctx.Repo.Repository.ID, tagName) if err != nil { - if err == models.ErrReleaseNotExist { + if models.IsErrReleaseNotExist(err) { ctx.Handle(404, "GetRelease", err) } else { ctx.Handle(500, "GetRelease", err) } return } - ctx.Data["Release"] = rel + ctx.Data["tag_name"] = rel.TagName + ctx.Data["tag_target"] = rel.Target + ctx.Data["title"] = rel.Title + ctx.Data["content"] = rel.Note + ctx.Data["prerelease"] = rel.IsPrerelease - ctx.Data["Title"] = ctx.Tr("repo.release.edit_release") - ctx.Data["IsRepoToolbarReleases"] = true - ctx.HTML(200, RELEASE_EDIT) + ctx.HTML(200, RELEASE_NEW) } func EditReleasePost(ctx *middleware.Context, form auth.EditReleaseForm) { - if !ctx.Repo.IsOwner() { - ctx.Handle(403, "release.EditReleasePost", nil) - return - } + ctx.Data["Title"] = ctx.Tr("repo.release.edit_release") + ctx.Data["PageIsEditRelease"] = true tagName := ctx.Params(":tagname") rel, err := models.GetRelease(ctx.Repo.Repository.ID, tagName) if err != nil { - if err == models.ErrReleaseNotExist { + if models.IsErrReleaseNotExist(err) { ctx.Handle(404, "GetRelease", err) } else { ctx.Handle(500, "GetRelease", err) } return } - ctx.Data["Release"] = rel + ctx.Data["tag_name"] = rel.TagName + ctx.Data["tag_target"] = rel.Target + ctx.Data["title"] = rel.Title + ctx.Data["content"] = rel.Note + ctx.Data["prerelease"] = rel.IsPrerelease if ctx.HasError() { - ctx.HTML(200, RELEASE_EDIT) + ctx.HTML(200, RELEASE_NEW) return } - ctx.Data["Title"] = ctx.Tr("repo.release.edit_release") - ctx.Data["IsRepoToolbarReleases"] = true - rel.Title = form.Title rel.Note = form.Content rel.IsDraft = len(form.Draft) > 0 |