summaryrefslogtreecommitdiffstats
path: root/models/migrations
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/migrations
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/migrations')
-rw-r--r--models/migrations/migrations.go4
-rw-r--r--models/migrations/v15.go30
2 files changed, 33 insertions, 1 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go
index 66f80dac30..69408a071d 100644
--- a/models/migrations/migrations.go
+++ b/models/migrations/migrations.go
@@ -76,8 +76,10 @@ var migrations = []Migration{
// v13 -> v14:v0.9.87
NewMigration("set comment updated with created", setCommentUpdatedWithCreated),
-
+ // v14
NewMigration("create user column diff view style", createUserColumnDiffViewStyle),
+ // v15
+ NewMigration("create user column allow create organization", createAllowCreateOrganizationColumn),
}
// Migrate database to current version
diff --git a/models/migrations/v15.go b/models/migrations/v15.go
new file mode 100644
index 0000000000..90fc22c6d3
--- /dev/null
+++ b/models/migrations/v15.go
@@ -0,0 +1,30 @@
+// Copyright 2016 Gitea. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package migrations
+
+import (
+ "fmt"
+
+ "github.com/go-xorm/xorm"
+)
+
+// UserV15 describes the added field for User
+type UserV15 struct {
+ AllowCreateOrganization bool
+}
+
+// TableName will be invoked by XORM to customrize the table name
+func (*UserV15) TableName() string {
+ return "user"
+}
+
+func createAllowCreateOrganizationColumn(x *xorm.Engine) error {
+ if err := x.Sync2(new(UserV15)); err != nil {
+ return fmt.Errorf("Sync2: %v", err)
+ } else if _, err = x.Where("type=0").Cols("allow_create_organization").Update(&UserV15{AllowCreateOrganization: true}); err != nil {
+ return fmt.Errorf("set allow_create_organization: %v", err)
+ }
+ return nil
+}