summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/models/application_setting.rb16
-rw-r--r--lib/api/settings.rb16
2 files changed, 17 insertions, 15 deletions
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index d6d17195bd3..255e8c4ff78 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -278,6 +278,22 @@ class ApplicationSetting < ActiveRecord::Base
self.repository_storages = [value]
end
+ def default_project_visibility=(level)
+ super(Gitlab::VisibilityLevel.level_value(level))
+ end
+
+ def default_snippet_visibility=(level)
+ super(Gitlab::VisibilityLevel.level_value(level))
+ end
+
+ def default_group_visibility=(level)
+ super(Gitlab::VisibilityLevel.level_value(level))
+ end
+
+ def restricted_visibility_levels=(levels)
+ super(levels.map { |level| Gitlab::VisibilityLevel.level_value(level) })
+ end
+
# Choose one of the available repository storage options. Currently all have
# equal weighting.
def pick_repository_storage
diff --git a/lib/api/settings.rb b/lib/api/settings.rb
index fef21f86f8c..d4d3229f0d1 100644
--- a/lib/api/settings.rb
+++ b/lib/api/settings.rb
@@ -7,20 +7,6 @@ module API
@current_setting ||=
(ApplicationSetting.current || ApplicationSetting.create_from_defaults)
end
-
- def map_setting_visibility_levels(attrs)
- [:default_project_visibility, :default_snippet_visibility, :default_group_visibility].each do |param|
- visibility = attrs.delete(param)
- if visibility
- attrs[param] = Gitlab::VisibilityLevel.string_options[visibility]
- end
- end
- restricted_levels = attrs.delete(:restricted_visibility_levels)
- if restricted_levels
- attrs[:restricted_visibility_levels] = Gitlab::VisibilityLevel.string_options.values_at(*restricted_levels)
- end
- attrs
- end
end
desc 'Get the current application settings' do
@@ -142,7 +128,7 @@ module API
:housekeeping_enabled, :terminal_max_session_time
end
put "application/settings" do
- attrs = map_setting_visibility_levels(declared_params(include_missing: false))
+ attrs = declared_params(include_missing: false)
if current_settings.update_attributes(attrs)
present current_settings, with: Entities::ApplicationSetting