diff options
author | Felipe Artur <felipefac@gmail.com> | 2016-03-17 01:44:33 +0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2016-03-17 01:44:33 +0300 |
commit | ec20fdf366843e60ed30abb5322c3c1b8f471b4a (patch) | |
tree | fd33118e0af74924bcb20a1696d91f85f6cd463c /db | |
parent | de251bcf6d0f1db8858fa38ac14e108c1b9ea00f (diff) |
Code improvements and add Create group service
Diffstat (limited to 'db')
-rw-r--r-- | db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb | 20 | ||||
-rw-r--r-- | db/schema.rb | 2 |
2 files changed, 19 insertions, 3 deletions
diff --git a/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb b/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb index c2bdd7b31fa..b71322376fa 100644 --- a/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb +++ b/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb @@ -1,11 +1,27 @@ +#Create visibility level field on DB +#Sets default_visibility_level to value on settings if not restricted +#If value is restricted takes higher visibility level allowed + class AddDefaultGroupVisibilityToApplicationSettings < ActiveRecord::Migration def up add_column :application_settings, :default_group_visibility, :integer - visibility = Settings.gitlab.default_groups_features['visibility_level'] - execute("update application_settings set default_group_visibility = #{visibility}") + execute("update application_settings set default_group_visibility = #{allowed_visibility_level}") end def down remove_column :application_settings, :default_group_visibility end + + private + def allowed_visibility_level + default_visibility = Settings.gitlab.default_groups_features['visibility_level'] + restricted_levels = current_application_settings.restricted_visibility_levels + return default_visibility unless restricted_levels.present? + + if restricted_levels.include?(default_visibility) + Gitlab::VisibilityLevel.values.select{ |vis_level| vis_level unless restricted_levels.include?(vis_level) }.last + else + default_visibility + end + end end diff --git a/db/schema.rb b/db/schema.rb index 082d681a176..292a9100d9c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20160308212903) do +ActiveRecord::Schema.define(version: 20160309140734) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" |