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
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")
issueIndex := ctx.ParamsInt64("index")
@ -26,12 +32,6 @@ func AddDependency(ctx *context.Context) {
// Redirect
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
dep, err := models.GetIssueByID(depID)
if err != nil {
@ -66,6 +66,12 @@ func AddDependency(ctx *context.Context) {
// RemoveDependency removes the dependency
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")
issueIndex := ctx.ParamsInt64("index")
@ -75,12 +81,6 @@ func RemoveDependency(ctx *context.Context) {
return
}
// Check if the Repo is allowed to have dependencies
if !ctx.Repo.CanCreateIssueDependencies(ctx.User) {
ctx.NotFound("CanCreateIssueDependencies", nil)
return
}
// Dependency Type
depTypeStr := ctx.Req.PostForm.Get("dependencyType")