diff options
author | Schwobaland <Schwobaland@users.noreply.github.com> | 2016-12-31 03:33:30 +0100 |
---|---|---|
committer | Lunny Xiao <xiaolunwen@gmail.com> | 2016-12-31 10:33:30 +0800 |
commit | c0904f1942071ce870ab9d87bd6c7f49f614ee82 (patch) | |
tree | 145eff1c1fae0b43a127f0ae2c232c1ebfe2af4e /routers | |
parent | b75450ad361bd7c468af5a01f42d203010206f62 (diff) | |
download | gitea-c0904f1942071ce870ab9d87bd6c7f49f614ee82.tar.gz gitea-c0904f1942071ce870ab9d87bd6c7f49f614ee82.zip |
Restrict creating organisations by user (#193)
* restrict creating organizations based on right on user
* revert bindata.go
* reverse vendor lib
* revert goimports change
* set AllowCreateOrganization default value to true
* revert locale
* added default value for AllowCreateOrganization
* fix typo in migration-comment
* fix comment
* add coments in migration
Diffstat (limited to 'routers')
-rw-r--r-- | routers/admin/users.go | 1 | ||||
-rw-r--r-- | routers/org/org.go | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/routers/admin/users.go b/routers/admin/users.go index 782012d95d..c02f366f66 100644 --- a/routers/admin/users.go +++ b/routers/admin/users.go @@ -214,6 +214,7 @@ func EditUserPost(ctx *context.Context, form auth.AdminEditUserForm) { u.IsAdmin = form.Admin u.AllowGitHook = form.AllowGitHook u.AllowImportLocal = form.AllowImportLocal + u.AllowCreateOrganization = form.AllowCreateOrganization u.ProhibitLogin = form.ProhibitLogin if err := models.UpdateUser(u); err != nil { diff --git a/routers/org/org.go b/routers/org/org.go index 579a2917b4..d0988bfcf5 100644 --- a/routers/org/org.go +++ b/routers/org/org.go @@ -5,6 +5,8 @@ package org import ( + "errors" + "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/auth" "code.gitea.io/gitea/modules/base" @@ -21,6 +23,10 @@ const ( // Create render the page for create organization func Create(ctx *context.Context) { ctx.Data["Title"] = ctx.Tr("new_org") + if !ctx.User.CanCreateOrganization() { + ctx.Handle(500, "Not allowed", errors.New(ctx.Tr("org.form.create_org_not_allowed"))) + return + } ctx.HTML(200, tplCreateOrg) } @@ -48,6 +54,8 @@ func CreatePost(ctx *context.Context, form auth.CreateOrgForm) { ctx.RenderWithErr(ctx.Tr("org.form.name_reserved", err.(models.ErrNameReserved).Name), tplCreateOrg, &form) case models.IsErrNamePatternNotAllowed(err): ctx.RenderWithErr(ctx.Tr("org.form.name_pattern_not_allowed", err.(models.ErrNamePatternNotAllowed).Pattern), tplCreateOrg, &form) + case models.IsErrUserNotAllowedCreateOrg(err): + ctx.RenderWithErr(ctx.Tr("org.form.create_org_not_allowed"), tplCreateOrg, &form) default: ctx.Handle(500, "CreateOrganization", err) } |