summaryrefslogtreecommitdiffstats
path: root/models/user.go
diff options
context:
space:
mode:
authorSchwobaland <Schwobaland@users.noreply.github.com>2016-12-31 03:33:30 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2016-12-31 10:33:30 +0800
commitc0904f1942071ce870ab9d87bd6c7f49f614ee82 (patch)
tree145eff1c1fae0b43a127f0ae2c232c1ebfe2af4e /models/user.go
parentb75450ad361bd7c468af5a01f42d203010206f62 (diff)
downloadgitea-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 'models/user.go')
-rw-r--r--models/user.go17
1 files changed, 12 insertions, 5 deletions
diff --git a/models/user.go b/models/user.go
index d48397ef7e..9f19b1c84e 100644
--- a/models/user.go
+++ b/models/user.go
@@ -102,11 +102,12 @@ type User struct {
MaxRepoCreation int `xorm:"NOT NULL DEFAULT -1"`
// Permissions
- IsActive bool // Activate primary email
- IsAdmin bool
- AllowGitHook bool
- AllowImportLocal bool // Allow migrate repository by local path
- ProhibitLogin bool
+ IsActive bool // Activate primary email
+ IsAdmin bool
+ AllowGitHook bool
+ AllowImportLocal bool // Allow migrate repository by local path
+ AllowCreateOrganization bool `xorm:"DEFAULT true"`
+ ProhibitLogin bool
// Avatar
Avatar string `xorm:"VARCHAR(2048) NOT NULL"`
@@ -210,6 +211,11 @@ func (u *User) CanCreateRepo() bool {
return u.NumRepos < u.MaxRepoCreation
}
+// CanCreateOrganization returns true if user can create organisation.
+func (u *User) CanCreateOrganization() bool {
+ return u.IsAdmin || u.AllowCreateOrganization
+}
+
// CanEditGitHook returns true if user can edit Git hooks.
func (u *User) CanEditGitHook() bool {
return u.IsAdmin || u.AllowGitHook
@@ -611,6 +617,7 @@ func CreateUser(u *User) (err error) {
return err
}
u.EncodePasswd()
+ u.AllowCreateOrganization = true
u.MaxRepoCreation = -1
sess := x.NewSession()