Moved check if the repo is allowed to have dependencies to the top of the functions & added better status code if not allowed

This commit is contained in:
kolaente 2018-06-06 14:52:21 +02:00
parent c52e970dbc
commit c212a82f16
No known key found for this signature in database
GPG Key ID: F40E70337AB24C9B

View File

@ -14,6 +14,12 @@ import (
// AddDependency adds new dependencies // AddDependency adds new dependencies
func AddDependency(ctx *context.Context) { func AddDependency(ctx *context.Context) {
// Check if the Repo is allowed to have dependencies
if !ctx.Repo.CanCreateIssueDependencies(ctx.User) {
ctx.Error(http.StatusForbidden, "CanCreateIssueDependencies", nil)
return
}
depID := ctx.QueryInt64("newDependency") depID := ctx.QueryInt64("newDependency")
issueIndex := ctx.ParamsInt64("index") issueIndex := ctx.ParamsInt64("index")
@ -26,12 +32,6 @@ func AddDependency(ctx *context.Context) {
// Redirect // Redirect
defer ctx.Redirect(fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, issueIndex), http.StatusSeeOther) defer ctx.Redirect(fmt.Sprintf("%s/issues/%d", ctx.Repo.RepoLink, issueIndex), http.StatusSeeOther)
// Check if the Repo is allowed to have dependencies
if !ctx.Repo.CanCreateIssueDependencies(ctx.User) {
ctx.NotFound("CanCreateIssueDependencies", nil)
return
}
// Dependency // Dependency
dep, err := models.GetIssueByID(depID) dep, err := models.GetIssueByID(depID)
if err != nil { if err != nil {
@ -66,6 +66,12 @@ func AddDependency(ctx *context.Context) {
// RemoveDependency removes the dependency // RemoveDependency removes the dependency
func RemoveDependency(ctx *context.Context) { func RemoveDependency(ctx *context.Context) {
// Check if the Repo is allowed to have dependencies
if !ctx.Repo.CanCreateIssueDependencies(ctx.User) {
ctx.Error(http.StatusForbidden, "CanCreateIssueDependencies", nil)
return
}
depID := ctx.QueryInt64("removeDependencyID") depID := ctx.QueryInt64("removeDependencyID")
issueIndex := ctx.ParamsInt64("index") issueIndex := ctx.ParamsInt64("index")
@ -75,12 +81,6 @@ func RemoveDependency(ctx *context.Context) {
return return
} }
// Check if the Repo is allowed to have dependencies
if !ctx.Repo.CanCreateIssueDependencies(ctx.User) {
ctx.NotFound("CanCreateIssueDependencies", nil)
return
}
// Dependency Type // Dependency Type
depTypeStr := ctx.Req.PostForm.Get("dependencyType") depTypeStr := ctx.Req.PostForm.Get("dependencyType")