summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-01-20 20:07:29 +0100
committerRémy Coutable <remy@rymai.me>2017-01-20 20:10:15 +0100
commitaaa986c0d20d8df6ca46ff28d52c6c807035608d (patch)
tree23a1120d6bbdf2e3db297bf566165077f53dc615
parentff75bd0409f79c8b75cf49a219cfe3257526042d (diff)
downloadgitlab-ce-backport-fix-load-error.tar.gz
Don't define ApplicationSetting defaults in a constantbackport-fix-load-error
Signed-off-by: Rémy Coutable <remy@rymai.me>
-rw-r--r--app/models/application_setting.rb92
-rw-r--r--lib/gitlab/current_settings.rb6
2 files changed, 51 insertions, 47 deletions
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index e33a58d3771..b78375d0bc8 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -13,49 +13,6 @@ class ApplicationSetting < ActiveRecord::Base
[\r\n] # any number of newline characters
}x
- DEFAULTS_CE = {
- after_sign_up_text: nil,
- akismet_enabled: false,
- container_registry_token_expire_delay: 5,
- default_branch_protection: Settings.gitlab['default_branch_protection'],
- default_project_visibility: Settings.gitlab.default_projects_features['visibility_level'],
- default_projects_limit: Settings.gitlab['default_projects_limit'],
- default_snippet_visibility: Settings.gitlab.default_projects_features['visibility_level'],
- disabled_oauth_sign_in_sources: [],
- domain_whitelist: Settings.gitlab['domain_whitelist'],
- gravatar_enabled: Settings.gravatar['enabled'],
- help_page_text: nil,
- housekeeping_bitmaps_enabled: true,
- housekeeping_enabled: true,
- housekeeping_full_repack_period: 50,
- housekeeping_gc_period: 200,
- housekeeping_incremental_repack_period: 10,
- import_sources: Gitlab::ImportSources.values,
- koding_enabled: false,
- koding_url: nil,
- max_artifacts_size: Settings.artifacts['max_size'],
- max_attachment_size: Settings.gitlab['max_attachment_size'],
- plantuml_enabled: false,
- plantuml_url: nil,
- recaptcha_enabled: false,
- repository_checks_enabled: true,
- repository_storages: ['default'],
- require_two_factor_authentication: false,
- restricted_visibility_levels: Settings.gitlab['restricted_visibility_levels'],
- session_expire_delay: Settings.gitlab['session_expire_delay'],
- send_user_confirmation_email: false,
- shared_runners_enabled: Settings.gitlab_ci['shared_runners_enabled'],
- shared_runners_text: nil,
- sidekiq_throttling_enabled: false,
- sign_in_text: nil,
- signin_enabled: Settings.gitlab['signin_enabled'],
- signup_enabled: Settings.gitlab['signup_enabled'],
- two_factor_grace_period: 48,
- user_default_external: false
- }
-
- DEFAULTS = DEFAULTS_CE
-
serialize :restricted_visibility_levels
serialize :import_sources
serialize :disabled_oauth_sign_in_sources, Array
@@ -191,6 +148,53 @@ class ApplicationSetting < ActiveRecord::Base
Rails.cache.write(CACHE_KEY, self)
end
+ def self.defaults_ce
+ {
+ after_sign_up_text: nil,
+ akismet_enabled: false,
+ container_registry_token_expire_delay: 5,
+ default_branch_protection: Settings.gitlab['default_branch_protection'],
+ default_project_visibility: Settings.gitlab.default_projects_features['visibility_level'],
+ default_projects_limit: Settings.gitlab['default_projects_limit'],
+ default_snippet_visibility: Settings.gitlab.default_projects_features['visibility_level'],
+ disabled_oauth_sign_in_sources: [],
+ domain_whitelist: Settings.gitlab['domain_whitelist'],
+ gravatar_enabled: Settings.gravatar['enabled'],
+ help_page_text: nil,
+ housekeeping_bitmaps_enabled: true,
+ housekeeping_enabled: true,
+ housekeeping_full_repack_period: 50,
+ housekeeping_gc_period: 200,
+ housekeeping_incremental_repack_period: 10,
+ import_sources: Gitlab::ImportSources.values,
+ koding_enabled: false,
+ koding_url: nil,
+ max_artifacts_size: Settings.artifacts['max_size'],
+ max_attachment_size: Settings.gitlab['max_attachment_size'],
+ plantuml_enabled: false,
+ plantuml_url: nil,
+ recaptcha_enabled: false,
+ repository_checks_enabled: true,
+ repository_storages: ['default'],
+ require_two_factor_authentication: false,
+ restricted_visibility_levels: Settings.gitlab['restricted_visibility_levels'],
+ session_expire_delay: Settings.gitlab['session_expire_delay'],
+ send_user_confirmation_email: false,
+ shared_runners_enabled: Settings.gitlab_ci['shared_runners_enabled'],
+ shared_runners_text: nil,
+ sidekiq_throttling_enabled: false,
+ sign_in_text: nil,
+ signin_enabled: Settings.gitlab['signin_enabled'],
+ signup_enabled: Settings.gitlab['signup_enabled'],
+ two_factor_grace_period: 48,
+ user_default_external: false
+ }
+ end
+
+ def self.defaults
+ defaults_ce
+ end
+
def self.current
Rails.cache.fetch(CACHE_KEY) do
ApplicationSetting.last
@@ -206,7 +210,7 @@ class ApplicationSetting < ActiveRecord::Base
end
def self.create_from_defaults
- create(DEFAULTS)
+ create(defaults)
end
def home_page_url_column_exist
diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb
index c79e17b57ee..e20f5f6f514 100644
--- a/lib/gitlab/current_settings.rb
+++ b/lib/gitlab/current_settings.rb
@@ -30,15 +30,15 @@ module Gitlab
end
def in_memory_application_settings
- @in_memory_application_settings ||= ApplicationSetting.new(ApplicationSetting::DEFAULTS)
+ @in_memory_application_settings ||= ::ApplicationSetting.new(::ApplicationSetting.defaults)
# In case migrations the application_settings table is not created yet,
# we fallback to a simple OpenStruct
- rescue ActiveRecord::StatementInvalid
+ rescue ActiveRecord::StatementInvalid, ActiveRecord::UnknownAttributeError
fake_application_settings
end
def fake_application_settings
- OpenStruct.new(ApplicationSetting::DEFAULTS)
+ OpenStruct.new(::ApplicationSetting.defaults)
end
private