From 85f11eff9b588c7252ea39ad73ac9c70e0e736bb Mon Sep 17 00:00:00 2001 From: Yorick Peterse Date: Fri, 1 Mar 2019 16:27:43 +0100 Subject: Refactor API::Settings for EE This refactors API::Settings so that EE can more easily extend its behaviour, without having to modify the CE source code directly. --- lib/api/settings.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/api/settings.rb') diff --git a/lib/api/settings.rb b/lib/api/settings.rb index b16faffe335..3cb2f69c4ef 100644 --- a/lib/api/settings.rb +++ b/lib/api/settings.rb @@ -9,6 +9,11 @@ module API @current_setting ||= (ApplicationSetting.current_without_cache || ApplicationSetting.create_from_defaults) end + + def filter_attributes_using_license(attrs) + # This method will be redefined in EE. + attrs + end end desc 'Get the current application settings' do @@ -156,6 +161,8 @@ module API attrs[:password_authentication_enabled_for_web] = attrs.delete(:password_authentication_enabled) end + attrs = filter_attributes_using_license(attrs) + if ApplicationSettings::UpdateService.new(current_settings, current_user, attrs).execute present current_settings, with: Entities::ApplicationSetting else -- cgit v1.2.1