mirror of https://github.com/gogs/gogs.git
Able to disable non-admin to create new organization (#1556)
Add new config option '[admin] DISABLE_REGULAR_ORG_CREATION', by default it's 'false'.pull/3809/merge
parent
2c154ccbe7
commit
b67ec01d41
10
cmd/web.go
10
cmd/web.go
|
@ -362,8 +362,14 @@ func runWeb(ctx *cli.Context) error {
|
|||
|
||||
// ***** START: Organization *****
|
||||
m.Group("/org", func() {
|
||||
m.Get("/create", org.Create)
|
||||
m.Post("/create", bindIgnErr(auth.CreateOrgForm{}), org.CreatePost)
|
||||
m.Group("", func() {
|
||||
m.Get("/create", org.Create)
|
||||
m.Post("/create", bindIgnErr(auth.CreateOrgForm{}), org.CreatePost)
|
||||
}, func(ctx *context.Context) {
|
||||
if !ctx.User.CanCreateOrganization() {
|
||||
ctx.NotFound()
|
||||
}
|
||||
})
|
||||
|
||||
m.Group("/:org", func() {
|
||||
m.Get("/dashboard", user.Dashboard)
|
||||
|
|
|
@ -171,6 +171,8 @@ SSL_MODE = disable
|
|||
PATH = data/gogs.db
|
||||
|
||||
[admin]
|
||||
; Disable regular (non-admin) users to create organizations
|
||||
DISABLE_REGULAR_ORG_CREATION = false
|
||||
|
||||
[security]
|
||||
INSTALL_LOCK = false
|
||||
|
|
2
gogs.go
2
gogs.go
|
@ -16,7 +16,7 @@ import (
|
|||
"github.com/gogits/gogs/modules/setting"
|
||||
)
|
||||
|
||||
const APP_VER = "0.9.139.0210"
|
||||
const APP_VER = "0.9.140.0210"
|
||||
|
||||
func init() {
|
||||
setting.AppVer = APP_VER
|
||||
|
|
|
@ -170,6 +170,10 @@ func (u *User) CanCreateRepo() bool {
|
|||
return u.NumRepos < u.MaxRepoCreation
|
||||
}
|
||||
|
||||
func (u *User) CanCreateOrganization() bool {
|
||||
return !setting.Admin.DisableRegularOrgCreation || u.IsAdmin
|
||||
}
|
||||
|
||||
// CanEditGitHook returns true if user can edit Git hooks.
|
||||
func (u *User) CanEditGitHook() bool {
|
||||
return u.IsAdmin || u.AllowGitHook
|
||||
|
|
|
@ -170,6 +170,11 @@ var (
|
|||
FileExtensions []string
|
||||
}
|
||||
|
||||
// Admin settings
|
||||
Admin struct {
|
||||
DisableRegularOrgCreation bool
|
||||
}
|
||||
|
||||
// Picture settings
|
||||
AvatarUploadPath string
|
||||
GravatarSource string
|
||||
|
@ -568,6 +573,8 @@ func NewContext() {
|
|||
log.Fatal(4, "Fail to map UI settings: %v", err)
|
||||
} else if err = Cfg.Section("markdown").MapTo(&Markdown); err != nil {
|
||||
log.Fatal(4, "Fail to map Markdown settings: %v", err)
|
||||
} else if err = Cfg.Section("admin").MapTo(&Admin); err != nil {
|
||||
log.Fatal(4, "Fail to map Admin settings: %v", err)
|
||||
} else if err = Cfg.Section("cron").MapTo(&Cron); err != nil {
|
||||
log.Fatal(4, "Fail to map Cron settings: %v", err)
|
||||
} else if err = Cfg.Section("git").MapTo(&Git); err != nil {
|
||||
|
|
|
@ -1 +1 @@
|
|||
0.9.139.0210
|
||||
0.9.140.0210
|
|
@ -93,9 +93,11 @@
|
|||
<a class="item" href="{{AppSubUrl}}/repo/migrate">
|
||||
<i class="octicon octicon-repo-clone"></i> {{.i18n.Tr "new_migrate"}}
|
||||
</a>
|
||||
{{if .SignedUser.CanCreateOrganization}}
|
||||
<a class="item" href="{{AppSubUrl}}/org/create">
|
||||
<i class="octicon octicon-organization"></i> {{.i18n.Tr "new_org"}}
|
||||
</a>
|
||||
{{end}}
|
||||
</div><!-- end content create new menu -->
|
||||
</div><!-- end dropdown menu create new -->
|
||||
|
||||
|
|
Loading…
Reference in New Issue