Commit eaada9d7 authored by Mario de la Ossa's avatar Mario de la Ossa Committed by Sean McGivern

use Gitlab::UserSettings directly as a singleton instead of including/extending it

parent 8fa2932d
class Admin::CohortsController < Admin::ApplicationController class Admin::CohortsController < Admin::ApplicationController
def index def index
if current_application_settings.usage_ping_enabled if Gitlab::CurrentSettings.usage_ping_enabled
cohorts_results = Rails.cache.fetch('cohorts', expires_in: 1.day) do cohorts_results = Rails.cache.fetch('cohorts', expires_in: 1.day) do
CohortsService.new.execute CohortsService.new.execute
end end
......
...@@ -2,7 +2,6 @@ require 'gon' ...@@ -2,7 +2,6 @@ require 'gon'
require 'fogbugz' require 'fogbugz'
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
include Gitlab::CurrentSettings
include Gitlab::GonHelper include Gitlab::GonHelper
include GitlabRoutingHelper include GitlabRoutingHelper
include PageLayoutHelper include PageLayoutHelper
...@@ -28,7 +27,7 @@ class ApplicationController < ActionController::Base ...@@ -28,7 +27,7 @@ class ApplicationController < ActionController::Base
protect_from_forgery with: :exception protect_from_forgery with: :exception
helper_method :can?, :current_application_settings helper_method :can?
helper_method :import_sources_enabled?, :github_import_enabled?, :gitea_import_enabled?, :github_import_configured?, :gitlab_import_enabled?, :gitlab_import_configured?, :bitbucket_import_enabled?, :bitbucket_import_configured?, :google_code_import_enabled?, :fogbugz_import_enabled?, :git_import_enabled?, :gitlab_project_import_enabled? helper_method :import_sources_enabled?, :github_import_enabled?, :gitea_import_enabled?, :github_import_configured?, :gitlab_import_enabled?, :gitlab_import_configured?, :bitbucket_import_enabled?, :bitbucket_import_configured?, :google_code_import_enabled?, :fogbugz_import_enabled?, :git_import_enabled?, :gitlab_project_import_enabled?
rescue_from Encoding::CompatibilityError do |exception| rescue_from Encoding::CompatibilityError do |exception|
...@@ -120,7 +119,7 @@ class ApplicationController < ActionController::Base ...@@ -120,7 +119,7 @@ class ApplicationController < ActionController::Base
end end
def after_sign_out_path_for(resource) def after_sign_out_path_for(resource)
current_application_settings.after_sign_out_path.presence || new_user_session_path Gitlab::CurrentSettings.after_sign_out_path.presence || new_user_session_path
end end
def can?(object, action, subject = :global) def can?(object, action, subject = :global)
...@@ -268,15 +267,15 @@ class ApplicationController < ActionController::Base ...@@ -268,15 +267,15 @@ class ApplicationController < ActionController::Base
end end
def import_sources_enabled? def import_sources_enabled?
!current_application_settings.import_sources.empty? !Gitlab::CurrentSettings.import_sources.empty?
end end
def github_import_enabled? def github_import_enabled?
current_application_settings.import_sources.include?('github') Gitlab::CurrentSettings.import_sources.include?('github')
end end
def gitea_import_enabled? def gitea_import_enabled?
current_application_settings.import_sources.include?('gitea') Gitlab::CurrentSettings.import_sources.include?('gitea')
end end
def github_import_configured? def github_import_configured?
...@@ -284,7 +283,7 @@ class ApplicationController < ActionController::Base ...@@ -284,7 +283,7 @@ class ApplicationController < ActionController::Base
end end
def gitlab_import_enabled? def gitlab_import_enabled?
request.host != 'gitlab.com' && current_application_settings.import_sources.include?('gitlab') request.host != 'gitlab.com' && Gitlab::CurrentSettings.import_sources.include?('gitlab')
end end
def gitlab_import_configured? def gitlab_import_configured?
...@@ -292,7 +291,7 @@ class ApplicationController < ActionController::Base ...@@ -292,7 +291,7 @@ class ApplicationController < ActionController::Base
end end
def bitbucket_import_enabled? def bitbucket_import_enabled?
current_application_settings.import_sources.include?('bitbucket') Gitlab::CurrentSettings.import_sources.include?('bitbucket')
end end
def bitbucket_import_configured? def bitbucket_import_configured?
...@@ -300,19 +299,19 @@ class ApplicationController < ActionController::Base ...@@ -300,19 +299,19 @@ class ApplicationController < ActionController::Base
end end
def google_code_import_enabled? def google_code_import_enabled?
current_application_settings.import_sources.include?('google_code') Gitlab::CurrentSettings.import_sources.include?('google_code')
end end
def fogbugz_import_enabled? def fogbugz_import_enabled?
current_application_settings.import_sources.include?('fogbugz') Gitlab::CurrentSettings.import_sources.include?('fogbugz')
end end
def git_import_enabled? def git_import_enabled?
current_application_settings.import_sources.include?('git') Gitlab::CurrentSettings.import_sources.include?('git')
end end
def gitlab_project_import_enabled? def gitlab_project_import_enabled?
current_application_settings.import_sources.include?('gitlab_project') Gitlab::CurrentSettings.import_sources.include?('gitlab_project')
end end
# U2F (universal 2nd factor) devices need a unique identifier for the application # U2F (universal 2nd factor) devices need a unique identifier for the application
......
...@@ -20,13 +20,13 @@ module EnforcesTwoFactorAuthentication ...@@ -20,13 +20,13 @@ module EnforcesTwoFactorAuthentication
end end
def two_factor_authentication_required? def two_factor_authentication_required?
current_application_settings.require_two_factor_authentication? || Gitlab::CurrentSettings.require_two_factor_authentication? ||
current_user.try(:require_two_factor_authentication_from_group?) current_user.try(:require_two_factor_authentication_from_group?)
end end
def two_factor_authentication_reason(global: -> {}, group: -> {}) def two_factor_authentication_reason(global: -> {}, group: -> {})
if two_factor_authentication_required? if two_factor_authentication_required?
if current_application_settings.require_two_factor_authentication? if Gitlab::CurrentSettings.require_two_factor_authentication?
global.call global.call
else else
groups = current_user.expanded_groups_requiring_two_factor_authentication.reorder(name: :asc) groups = current_user.expanded_groups_requiring_two_factor_authentication.reorder(name: :asc)
...@@ -36,7 +36,7 @@ module EnforcesTwoFactorAuthentication ...@@ -36,7 +36,7 @@ module EnforcesTwoFactorAuthentication
end end
def two_factor_grace_period def two_factor_grace_period
periods = [current_application_settings.two_factor_grace_period] periods = [Gitlab::CurrentSettings.two_factor_grace_period]
periods << current_user.two_factor_grace_period if current_user.try(:require_two_factor_authentication_from_group?) periods << current_user.two_factor_grace_period if current_user.try(:require_two_factor_authentication_from_group?)
periods.min periods.min
end end
......
module RequiresWhitelistedMonitoringClient module RequiresWhitelistedMonitoringClient
extend ActiveSupport::Concern extend ActiveSupport::Concern
include Gitlab::CurrentSettings
included do included do
before_action :validate_ip_whitelisted_or_valid_token! before_action :validate_ip_whitelisted_or_valid_token!
end end
...@@ -26,7 +24,7 @@ module RequiresWhitelistedMonitoringClient ...@@ -26,7 +24,7 @@ module RequiresWhitelistedMonitoringClient
token.present? && token.present? &&
ActiveSupport::SecurityUtils.variable_size_secure_compare( ActiveSupport::SecurityUtils.variable_size_secure_compare(
token, token,
current_application_settings.health_check_access_token Gitlab::CurrentSettings.health_check_access_token
) )
end end
......
...@@ -51,7 +51,7 @@ class InvitesController < ApplicationController ...@@ -51,7 +51,7 @@ class InvitesController < ApplicationController
return if current_user return if current_user
notice = "To accept this invitation, sign in" notice = "To accept this invitation, sign in"
notice << " or create an account" if current_application_settings.allow_signup? notice << " or create an account" if Gitlab::CurrentSettings.allow_signup?
notice << "." notice << "."
store_location_for :user, request.fullpath store_location_for :user, request.fullpath
......
...@@ -10,6 +10,6 @@ class KodingController < ApplicationController ...@@ -10,6 +10,6 @@ class KodingController < ApplicationController
private private
def check_integration! def check_integration!
render_404 unless current_application_settings.koding_enabled? render_404 unless Gitlab::CurrentSettings.koding_enabled?
end end
end end
class Oauth::ApplicationsController < Doorkeeper::ApplicationsController class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
include Gitlab::CurrentSettings
include Gitlab::GonHelper include Gitlab::GonHelper
include PageLayoutHelper include PageLayoutHelper
include OauthApplications include OauthApplications
...@@ -31,7 +30,7 @@ class Oauth::ApplicationsController < Doorkeeper::ApplicationsController ...@@ -31,7 +30,7 @@ class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
private private
def verify_user_oauth_applications_enabled def verify_user_oauth_applications_enabled
return if current_application_settings.user_oauth_applications? return if Gitlab::CurrentSettings.user_oauth_applications?
redirect_to profile_path redirect_to profile_path
end end
......
...@@ -145,7 +145,7 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController ...@@ -145,7 +145,7 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController
label = Gitlab::OAuth::Provider.label_for(oauth['provider']) label = Gitlab::OAuth::Provider.label_for(oauth['provider'])
message = "Signing in using your #{label} account without a pre-existing GitLab account is not allowed." message = "Signing in using your #{label} account without a pre-existing GitLab account is not allowed."
if current_application_settings.allow_signup? if Gitlab::CurrentSettings.allow_signup?
message << " Create a GitLab account first, and then connect it to your #{label} account." message << " Create a GitLab account first, and then connect it to your #{label} account."
end end
......
class PasswordsController < Devise::PasswordsController class PasswordsController < Devise::PasswordsController
include Gitlab::CurrentSettings
skip_before_action :require_no_authentication, only: [:edit, :update] skip_before_action :require_no_authentication, only: [:edit, :update]
before_action :resource_from_email, only: [:create] before_action :resource_from_email, only: [:create]
...@@ -46,7 +44,7 @@ class PasswordsController < Devise::PasswordsController ...@@ -46,7 +44,7 @@ class PasswordsController < Devise::PasswordsController
if resource if resource
return if resource.allow_password_authentication? return if resource.allow_password_authentication?
else else
return if current_application_settings.password_authentication_enabled? return if Gitlab::CurrentSettings.password_authentication_enabled?
end end
redirect_to after_sending_reset_password_instructions_path_for(resource_name), redirect_to after_sending_reset_password_instructions_path_for(resource_name),
......
...@@ -394,7 +394,7 @@ class ProjectsController < Projects::ApplicationController ...@@ -394,7 +394,7 @@ class ProjectsController < Projects::ApplicationController
end end
def project_export_enabled def project_export_enabled
render_404 unless current_application_settings.project_export_enabled? render_404 unless Gitlab::CurrentSettings.project_export_enabled?
end end
def redirect_git_extension def redirect_git_extension
......
...@@ -23,7 +23,7 @@ class RootController < Dashboard::ProjectsController ...@@ -23,7 +23,7 @@ class RootController < Dashboard::ProjectsController
def redirect_unlogged_user def redirect_unlogged_user
if redirect_to_home_page_url? if redirect_to_home_page_url?
redirect_to(current_application_settings.home_page_url) redirect_to(Gitlab::CurrentSettings.home_page_url)
else else
redirect_to(new_user_session_path) redirect_to(new_user_session_path)
end end
...@@ -48,9 +48,9 @@ class RootController < Dashboard::ProjectsController ...@@ -48,9 +48,9 @@ class RootController < Dashboard::ProjectsController
def redirect_to_home_page_url? def redirect_to_home_page_url?
# If user is not signed-in and tries to access root_path - redirect him to landing page # If user is not signed-in and tries to access root_path - redirect him to landing page
# Don't redirect to the default URL to prevent endless redirections # Don't redirect to the default URL to prevent endless redirections
return false unless current_application_settings.home_page_url.present? return false unless Gitlab::CurrentSettings.home_page_url.present?
home_page_url = current_application_settings.home_page_url.chomp('/') home_page_url = Gitlab::CurrentSettings.home_page_url.chomp('/')
root_urls = [Gitlab.config.gitlab['url'].chomp('/'), root_url.chomp('/')] root_urls = [Gitlab.config.gitlab['url'].chomp('/'), root_url.chomp('/')]
root_urls.exclude?(home_page_url) root_urls.exclude?(home_page_url)
......
module ApplicationSettingsHelper module ApplicationSettingsHelper
extend self extend self
include Gitlab::CurrentSettings
delegate :allow_signup?, delegate :allow_signup?,
:gravatar_enabled?, :gravatar_enabled?,
:password_authentication_enabled_for_web?, :password_authentication_enabled_for_web?,
:akismet_enabled?, :akismet_enabled?,
:koding_enabled?, :koding_enabled?,
to: :current_application_settings to: :'Gitlab::CurrentSettings.current_application_settings'
def user_oauth_applications? def user_oauth_applications?
current_application_settings.user_oauth_applications Gitlab::CurrentSettings.user_oauth_applications
end end
def allowed_protocols_present? def allowed_protocols_present?
current_application_settings.enabled_git_access_protocol.present? Gitlab::CurrentSettings.enabled_git_access_protocol.present?
end end
def enabled_protocol def enabled_protocol
case current_application_settings.enabled_git_access_protocol case Gitlab::CurrentSettings.enabled_git_access_protocol
when 'http' when 'http'
gitlab_config.protocol gitlab_config.protocol
when 'ssh' when 'ssh'
...@@ -57,7 +55,7 @@ module ApplicationSettingsHelper ...@@ -57,7 +55,7 @@ module ApplicationSettingsHelper
# toggle button effect. # toggle button effect.
def import_sources_checkboxes(help_block_id) def import_sources_checkboxes(help_block_id)
Gitlab::ImportSources.options.map do |name, source| Gitlab::ImportSources.options.map do |name, source|
checked = current_application_settings.import_sources.include?(source) checked = Gitlab::CurrentSettings.import_sources.include?(source)
css_class = checked ? 'active' : '' css_class = checked ? 'active' : ''
checkbox_name = 'application_setting[import_sources][]' checkbox_name = 'application_setting[import_sources][]'
...@@ -72,7 +70,7 @@ module ApplicationSettingsHelper ...@@ -72,7 +70,7 @@ module ApplicationSettingsHelper
def oauth_providers_checkboxes def oauth_providers_checkboxes
button_based_providers.map do |source| button_based_providers.map do |source|
disabled = current_application_settings.disabled_oauth_sign_in_sources.include?(source.to_s) disabled = Gitlab::CurrentSettings.disabled_oauth_sign_in_sources.include?(source.to_s)
css_class = 'btn' css_class = 'btn'
css_class << ' active' unless disabled css_class << ' active' unless disabled
checkbox_name = 'application_setting[enabled_oauth_sign_in_sources][]' checkbox_name = 'application_setting[enabled_oauth_sign_in_sources][]'
......
module AuthHelper module AuthHelper
include Gitlab::CurrentSettings
PROVIDERS_WITH_ICONS = %w(twitter github gitlab bitbucket google_oauth2 facebook azure_oauth2 authentiq).freeze PROVIDERS_WITH_ICONS = %w(twitter github gitlab bitbucket google_oauth2 facebook azure_oauth2 authentiq).freeze
FORM_BASED_PROVIDERS = [/\Aldap/, 'crowd'].freeze FORM_BASED_PROVIDERS = [/\Aldap/, 'crowd'].freeze
...@@ -41,7 +39,7 @@ module AuthHelper ...@@ -41,7 +39,7 @@ module AuthHelper
end end
def enabled_button_based_providers def enabled_button_based_providers
disabled_providers = current_application_settings.disabled_oauth_sign_in_sources || [] disabled_providers = Gitlab::CurrentSettings.disabled_oauth_sign_in_sources || []
button_based_providers.map(&:to_s) - disabled_providers button_based_providers.map(&:to_s) - disabled_providers
end end
......
module ProjectsHelper module ProjectsHelper
include Gitlab::CurrentSettings
def link_to_project(project) def link_to_project(project)
link_to [project.namespace.becomes(Namespace), project], title: h(project.name) do link_to [project.namespace.becomes(Namespace), project], title: h(project.name) do
title = content_tag(:span, project.name, class: 'project-name') title = content_tag(:span, project.name, class: 'project-name')
...@@ -214,7 +212,7 @@ module ProjectsHelper ...@@ -214,7 +212,7 @@ module ProjectsHelper
project.cache_key, project.cache_key,
controller.controller_name, controller.controller_name,
controller.action_name, controller.action_name,
current_application_settings.cache_key, Gitlab::CurrentSettings.cache_key,
'v2.5' 'v2.5'
] ]
...@@ -447,10 +445,10 @@ module ProjectsHelper ...@@ -447,10 +445,10 @@ module ProjectsHelper
path = "#{import_path}?repo=#{repo}&branch=#{branch}&sha=#{sha}" path = "#{import_path}?repo=#{repo}&branch=#{branch}&sha=#{sha}"
return URI.join(current_application_settings.koding_url, path).to_s return URI.join(Gitlab::CurrentSettings.koding_url, path).to_s
end end
current_application_settings.koding_url Gitlab::CurrentSettings.koding_url
end end
def contribution_guide_path(project) def contribution_guide_path(project)
...@@ -559,7 +557,7 @@ module ProjectsHelper ...@@ -559,7 +557,7 @@ module ProjectsHelper
def restricted_levels def restricted_levels
return [] if current_user.admin? return [] if current_user.admin?
current_application_settings.restricted_visibility_levels || [] Gitlab::CurrentSettings.restricted_visibility_levels || []
end end
def project_permissions_settings(project) def project_permissions_settings(project)
......
module VersionCheckHelper module VersionCheckHelper
def version_status_badge def version_status_badge
if Rails.env.production? && current_application_settings.version_check_enabled if Rails.env.production? && Gitlab::CurrentSettings.version_check_enabled
image_url = VersionCheck.new.url image_url = VersionCheck.new.url
image_tag image_url, class: 'js-version-status-badge' image_tag image_url, class: 'js-version-status-badge'
end end
......
...@@ -151,12 +151,12 @@ module VisibilityLevelHelper ...@@ -151,12 +151,12 @@ module VisibilityLevelHelper
def restricted_visibility_levels(show_all = false) def restricted_visibility_levels(show_all = false)
return [] if current_user.admin? && !show_all return [] if current_user.admin? && !show_all
current_application_settings.restricted_visibility_levels || [] Gitlab::CurrentSettings.restricted_visibility_levels || []
end end
delegate :default_project_visibility, delegate :default_project_visibility,
:default_group_visibility, :default_group_visibility,
to: :current_application_settings to: :'Gitlab::CurrentSettings.current_application_settings'
def disallowed_visibility_level?(form_model, level) def disallowed_visibility_level?(form_model, level)
return false unless form_model.respond_to?(:visibility_level_allowed?) return false unless form_model.respond_to?(:visibility_level_allowed?)
......
class AbuseReportMailer < BaseMailer class AbuseReportMailer < BaseMailer
include Gitlab::CurrentSettings
def notify(abuse_report_id) def notify(abuse_report_id)
return unless deliverable? return unless deliverable?
@abuse_report = AbuseReport.find(abuse_report_id) @abuse_report = AbuseReport.find(abuse_report_id)
mail( mail(
to: current_application_settings.admin_notification_email, to: Gitlab::CurrentSettings.admin_notification_email,
subject: "#{@abuse_report.user.name} (#{@abuse_report.user.username}) was reported for abuse" subject: "#{@abuse_report.user.name} (#{@abuse_report.user.username}) was reported for abuse"
) )
end end
...@@ -15,6 +13,6 @@ class AbuseReportMailer < BaseMailer ...@@ -15,6 +13,6 @@ class AbuseReportMailer < BaseMailer
private private
def deliverable? def deliverable?
current_application_settings.admin_notification_email.present? Gitlab::CurrentSettings.admin_notification_email.present?
end end
end end
class BaseMailer < ActionMailer::Base class BaseMailer < ActionMailer::Base
include Gitlab::CurrentSettings
around_action :render_with_default_locale around_action :render_with_default_locale
helper ApplicationHelper helper ApplicationHelper
helper MarkupHelper helper MarkupHelper
attr_accessor :current_user attr_accessor :current_user
helper_method :current_user, :can?, :current_application_settings helper_method :current_user, :can?
default from: proc { default_sender_address.format } default from: proc { default_sender_address.format }
default reply_to: proc { default_reply_to_address.format } default reply_to: proc { default_reply_to_address.format }
......
module Clusters module Clusters
module Platforms module Platforms
class Kubernetes < ActiveRecord::Base class Kubernetes < ActiveRecord::Base
include Gitlab::CurrentSettings
include Gitlab::Kubernetes include Gitlab::Kubernetes
include ReactiveCaching include ReactiveCaching
...@@ -169,7 +168,7 @@ module Clusters ...@@ -169,7 +168,7 @@ module Clusters
{ {
token: token, token: token,
ca_pem: ca_pem, ca_pem: ca_pem,
max_session_time: current_application_settings.terminal_max_session_time max_session_time: Gitlab::CurrentSettings.terminal_max_session_time
} }
end end
......
class IssueAssignee < ActiveRecord::Base class IssueAssignee < ActiveRecord::Base
extend Gitlab::CurrentSettings
belongs_to :issue belongs_to :issue
belongs_to :assignee, class_name: "User", foreign_key: :user_id belongs_to :assignee, class_name: "User", foreign_key: :user_id
end end
require 'digest/md5' require 'digest/md5'
class Key < ActiveRecord::Base class Key < ActiveRecord::Base
include Gitlab::CurrentSettings
include AfterCommitQueue include AfterCommitQueue
include Sortable include Sortable
...@@ -104,7 +103,7 @@ class Key < ActiveRecord::Base ...@@ -104,7 +103,7 @@ class Key < ActiveRecord::Base
end end
def key_meets_restrictions def key_meets_restrictions
restriction = current_application_settings.key_restriction_for(public_key.type) restriction = Gitlab::CurrentSettings.key_restriction_for(public_key.type)
if restriction == ApplicationSetting::FORBIDDEN_KEY_VALUE if restriction == ApplicationSetting::FORBIDDEN_KEY_VALUE
errors.add(:key, forbidden_key_type_message) errors.add(:key, forbidden_key_type_message)
...@@ -115,7 +114,7 @@ class Key < ActiveRecord::Base ...@@ -115,7 +114,7 @@ class Key < ActiveRecord::Base
def forbidden_key_type_message def forbidden_key_type_message
allowed_types = allowed_types =
current_application_settings Gitlab::CurrentSettings
.allowed_key_types .allowed_key_types
.map(&:upcase) .map(&:upcase)
.to_sentence(last_word_connector: ', or ', two_words_connector: ' or ') .to_sentence(last_word_connector: ', or ', two_words_connector: ' or ')
......
...@@ -2,7 +2,6 @@ class Namespace < ActiveRecord::Base ...@@ -2,7 +2,6 @@ class Namespace < ActiveRecord::Base
include CacheMarkdownField include CacheMarkdownField
include Sortable include Sortable
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
include Gitlab::CurrentSettings
include Gitlab::VisibilityLevel include Gitlab::VisibilityLevel
include Routable include Routable
include AfterCommitQueue include AfterCommitQueue
......
...@@ -3,7 +3,6 @@ ...@@ -3,7 +3,6 @@
# A note of this type is never resolvable. # A note of this type is never resolvable.
class Note < ActiveRecord::Base class Note < ActiveRecord::Base
extend ActiveModel::Naming extend ActiveModel::Naming
include Gitlab::CurrentSettings
include Participable include Participable
include Mentionable include Mentionable
include Awardable include Awardable
...@@ -196,7 +195,7 @@ class Note < ActiveRecord::Base ...@@ -196,7 +195,7 @@ class Note < ActiveRecord::Base
end end
def max_attachment_size def max_attachment_size
current_application_settings.max_attachment_size.megabytes.to_i Gitlab::CurrentSettings.max_attachment_size.megabytes.to_i
end end
def hook_attrs def hook_attrs
......
...@@ -4,7 +4,6 @@ class Project < ActiveRecord::Base ...@@ -4,7 +4,6 @@ class Project < ActiveRecord::Base
include Gitlab::ConfigHelper include Gitlab::ConfigHelper
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
include Gitlab::VisibilityLevel include Gitlab::VisibilityLevel
include Gitlab::CurrentSettings
include AccessRequestable include AccessRequestable
include Avatarable include Avatarable
include CacheMarkdownField include CacheMarkdownField
...@@ -23,7 +22,6 @@ class Project < ActiveRecord::Base ...@@ -23,7 +22,6 @@ class Project < ActiveRecord::Base
include ::Gitlab::Utils::StrongMemoize include ::Gitlab::Utils::StrongMemoize
extend Gitlab::ConfigHelper extend Gitlab::ConfigHelper
extend Gitlab::CurrentSettings
BoardLimitExceeded = Class.new(StandardError) BoardLimitExceeded = Class.new(StandardError)
...@@ -51,8 +49,8 @@ class Project < ActiveRecord::Base ...@@ -51,8 +49,8 @@ class Project < ActiveRecord::Base
default_value_for :visibility_level, gitlab_config_features.visibility_level default_value_for :visibility_level, gitlab_config_features.visibility_level
default_value_for :resolve_outdated_diff_discussions, false default_value_for :resolve_outdated_diff_discussions, false
default_value_for :container_registry_enabled, gitlab_config_features.container_registry default_value_for :container_registry_enabled, gitlab_config_features.container_registry
default_value_for(:repository_storage) { current_application_settings.pick_repository_storage } default_value_for(:repository_storage) { Gitlab::CurrentSettings.pick_repository_storage }
default_value_for(:shared_runners_enabled) { current_application_settings.shared_runners_enabled } default_value_for(:shared_runners_enabled) { Gitlab::CurrentSettings.shared_runners_enabled }
default_value_for :issues_enabled, gitlab_config_features.issues default_value_for :issues_enabled, gitlab_config_features.issues
default_value_for :merge_requests_enabled, gitlab_config_features.merge_requests default_value_for :merge_requests_enabled, gitlab_config_features.merge_requests
default_value_for :builds_enabled, gitlab_config_features.builds default_value_for :builds_enabled, gitlab_config_features.builds
...@@ -486,14 +484,14 @@ class Project < ActiveRecord::Base ...@@ -486,14 +484,14 @@ class Project < ActiveRecord::Base
def auto_devops_enabled? def auto_devops_enabled?
if auto_devops&.enabled.nil? if auto_devops&.enabled.nil?
current_application_settings.auto_devops_enabled? Gitlab::CurrentSettings.auto_devops_enabled?
else else
auto_devops.enabled? auto_devops.enabled?
end end
end end
def has_auto_devops_implicitly_disabled? def has_auto_devops_implicitly_disabled?
auto_devops&.enabled.nil? && !current_application_settings.auto_devops_enabled? auto_devops&.enabled.nil? && !Gitlab::CurrentSettings.auto_devops_enabled?
end end
def empty_repo? def empty_repo?
...@@ -1471,14 +1469,14 @@ class Project < ActiveRecord::Base ...@@ -1471,14 +1469,14 @@ class Project < ActiveRecord::Base
# Ensure HEAD points to the default branch in case it is not master # Ensure HEAD points to the default branch in case it is not master
change_head(default_branch) change_head(default_branch)
if current_application_settings.default_branch_protection != Gitlab::Access::PROTECTION_NONE && !ProtectedBranch.protected?(self, default_branch) if Gitlab::CurrentSettings.default_branch_protection != Gitlab::Access::PROTECTION_NONE && !ProtectedBranch.protected?(self, default_branch)
params = { params = {
name: default_branch, name: default_branch,
push_access_levels_attributes: [{ push_access_levels_attributes: [{
access_level: current_application_settings.default_branch_protection == Gitlab::Access::PROTECTION_DEV_CAN_PUSH ? Gitlab::Access::DEVELOPER : Gitlab::Access::MASTER access_level: Gitlab::CurrentSettings.default_branch_protection == Gitlab::Access::PROTECTION_DEV_CAN_PUSH ? Gitlab::Access::DEVELOPER : Gitlab::Access::MASTER
}], }],
merge_access_levels_attributes: [{ merge_access_levels_attributes: [{
access_level: current_application_settings.default_branch_protection == Gitlab::Access::PROTECTION_DEV_CAN_MERGE ? Gitlab::Access::DEVELOPER : Gitlab::Access::MASTER access_level: Gitlab::CurrentSettings.default_branch_protection == Gitlab::Access::PROTECTION_DEV_CAN_MERGE ? Gitlab::Access::DEVELOPER : Gitlab::Access::MASTER
}] }]
} }
...@@ -1773,7 +1771,7 @@ class Project < ActiveRecord::Base ...@@ -1773,7 +1771,7 @@ class Project < ActiveRecord::Base
end end
def use_hashed_storage def use_hashed_storage
if self.new_record? && current_application_settings.hashed_storage_enabled if self.new_record? && Gitlab::CurrentSettings.hashed_storage_enabled
self.storage_version = LATEST_STORAGE_VERSION self.storage_version = LATEST_STORAGE_VERSION
end end
end end
......
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
# After we've migrated data, we'll remove KubernetesService. This would happen in a few months. # After we've migrated data, we'll remove KubernetesService. This would happen in a few months.
# If you're modyfiyng this class, please note that you should update the same change in Clusters::Platforms::Kubernetes. # If you're modyfiyng this class, please note that you should update the same change in Clusters::Platforms::Kubernetes.
class KubernetesService < DeploymentService class KubernetesService < DeploymentService
include Gitlab::CurrentSettings
include Gitlab::Kubernetes include Gitlab::Kubernetes
include ReactiveCaching include ReactiveCaching
...@@ -231,7 +230,7 @@ class KubernetesService < DeploymentService ...@@ -231,7 +230,7 @@ class KubernetesService < DeploymentService
{ {
token: token, token: token,
ca_pem: ca_pem, ca_pem: ca_pem,
max_session_time: current_application_settings.terminal_max_session_time max_session_time: Gitlab::CurrentSettings.terminal_max_session_time
} }
end end
......
...@@ -2,8 +2,6 @@ class ProtectedBranch < ActiveRecord::Base ...@@ -2,8 +2,6 @@ class ProtectedBranch < ActiveRecord::Base
include Gitlab::ShellAdapter include Gitlab::ShellAdapter
include ProtectedRef include ProtectedRef
extend Gitlab::CurrentSettings
protected_ref_access_levels :merge, :push protected_ref_access_levels :merge, :push
# Check if branch name is marked as protected in the system # Check if branch name is marked as protected in the system
...@@ -16,7 +14,7 @@ class ProtectedBranch < ActiveRecord::Base ...@@ -16,7 +14,7 @@ class ProtectedBranch < ActiveRecord::Base
end end
def self.default_branch_protected? def self.default_branch_protected?
current_application_settings.default_branch_protection == Gitlab::Access::PROTECTION_FULL || Gitlab::CurrentSettings.default_branch_protection == Gitlab::Access::PROTECTION_FULL ||
current_application_settings.default_branch_protection == Gitlab::Access::PROTECTION_DEV_CAN_MERGE Gitlab::CurrentSettings.default_branch_protection == Gitlab::Access::PROTECTION_DEV_CAN_MERGE
end end
end end
...@@ -11,8 +11,6 @@ class Snippet < ActiveRecord::Base ...@@ -11,8 +11,6 @@ class Snippet < ActiveRecord::Base
include Editable include Editable
include Gitlab::SQL::Pattern include Gitlab::SQL::Pattern
extend Gitlab::CurrentSettings
cache_markdown_field :title, pipeline: :single_line cache_markdown_field :title, pipeline: :single_line
cache_markdown_field :description cache_markdown_field :description
cache_markdown_field :content cache_markdown_field :content
...@@ -28,7 +26,7 @@ class Snippet < ActiveRecord::Base ...@@ -28,7 +26,7 @@ class Snippet < ActiveRecord::Base
default_content_html_invalidator || file_name_changed? default_content_html_invalidator || file_name_changed?
end end
default_value_for(:visibility_level) { current_application_settings.default_snippet_visibility } default_value_for(:visibility_level) { Gitlab::CurrentSettings.default_snippet_visibility }
belongs_to :author, class_name: 'User' belongs_to :author, class_name: 'User'
belongs_to :project belongs_to :project
......
...@@ -2,10 +2,8 @@ require 'carrierwave/orm/activerecord' ...@@ -2,10 +2,8 @@ require 'carrierwave/orm/activerecord'
class User < ActiveRecord::Base class User < ActiveRecord::Base
extend Gitlab::ConfigHelper extend Gitlab::ConfigHelper
extend Gitlab::CurrentSettings
include Gitlab::ConfigHelper include Gitlab::ConfigHelper
include Gitlab::CurrentSettings
include Gitlab::SQL::Pattern include Gitlab::SQL::Pattern
include AfterCommitQueue include AfterCommitQueue
include Avatarable include Avatarable
...@@ -30,7 +28,7 @@ class User < ActiveRecord::Base ...@@ -30,7 +28,7 @@ class User < ActiveRecord::Base
add_authentication_token_field :rss_token add_authentication_token_field :rss_token
default_value_for :admin, false default_value_for :admin, false
default_value_for(:external) { current_application_settings.user_default_external } default_value_for(:external) { Gitlab::CurrentSettings.user_default_external }
default_value_for :can_create_group, gitlab_config.default_can_create_group default_value_for :can_create_group, gitlab_config.default_can_create_group
default_value_for :can_create_team, false default_value_for :can_create_team, false
default_value_for :hide_no_ssh_key, false default_value_for :hide_no_ssh_key, false
...@@ -660,11 +658,11 @@ class User < ActiveRecord::Base ...@@ -660,11 +658,11 @@ class User < ActiveRecord::Base
end end
def allow_password_authentication_for_web? def allow_password_authentication_for_web?
current_application_settings.password_authentication_enabled_for_web? && !ldap_user? Gitlab::CurrentSettings.password_authentication_enabled_for_web? && !ldap_user?
end end
def allow_password_authentication_for_git? def allow_password_authentication_for_git?
current_application_settings.password_authentication_enabled_for_git? && !ldap_user? Gitlab::CurrentSettings.password_authentication_enabled_for_git? && !ldap_user?
end end
def can_change_username? def can_change_username?
...@@ -792,7 +790,7 @@ class User < ActiveRecord::Base ...@@ -792,7 +790,7 @@ class User < ActiveRecord::Base
# without this safeguard! # without this safeguard!
return unless has_attribute?(:projects_limit) && projects_limit.nil? return unless has_attribute?(:projects_limit) && projects_limit.nil?
self.projects_limit = current_application_settings.default_projects_limit self.projects_limit = Gitlab::CurrentSettings.default_projects_limit
end end
def requires_ldap_check? def requires_ldap_check?
...@@ -1215,7 +1213,7 @@ class User < ActiveRecord::Base ...@@ -1215,7 +1213,7 @@ class User < ActiveRecord::Base
else else
# Only revert these back to the default if they weren't specifically changed in this update. # Only revert these back to the default if they weren't specifically changed in this update.
self.can_create_group = gitlab_config.default_can_create_group unless can_create_group_changed? self.can_create_group = gitlab_config.default_can_create_group unless can_create_group_changed?
self.projects_limit = current_application_settings.default_projects_limit unless projects_limit_changed? self.projects_limit = Gitlab::CurrentSettings.default_projects_limit unless projects_limit_changed?
end end
end end
...@@ -1223,15 +1221,15 @@ class User < ActiveRecord::Base ...@@ -1223,15 +1221,15 @@ class User < ActiveRecord::Base
valid = true valid = true
error = nil error = nil
if current_application_settings.domain_blacklist_enabled? if Gitlab::CurrentSettings.domain_blacklist_enabled?
blocked_domains = current_application_settings.domain_blacklist blocked_domains = Gitlab::CurrentSettings.domain_blacklist
if domain_matches?(blocked_domains, email) if domain_matches?(blocked_domains, email)
error = 'is not from an allowed domain.' error = 'is not from an allowed domain.'
valid = false valid = false
end end
end end
allowed_domains = current_application_settings.domain_whitelist allowed_domains = Gitlab::CurrentSettings.domain_whitelist
unless allowed_domains.blank? unless allowed_domains.blank?
if domain_matches?(allowed_domains, email) if domain_matches?(allowed_domains, email)
valid = true valid = true
......
class AkismetService class AkismetService
include Gitlab::CurrentSettings
attr_accessor :owner, :text, :options attr_accessor :owner, :text, :options
def initialize(owner, text, options = {}) def initialize(owner, text, options = {})
...@@ -41,12 +39,12 @@ class AkismetService ...@@ -41,12 +39,12 @@ class AkismetService
private private
def akismet_client def akismet_client
@akismet_client ||= ::Akismet::Client.new(current_application_settings.akismet_api_key, @akismet_client ||= ::Akismet::Client.new(Gitlab::CurrentSettings.akismet_api_key,
Gitlab.config.gitlab.url) Gitlab.config.gitlab.url)
end end
def akismet_enabled? def akismet_enabled?
current_application_settings.akismet_enabled Gitlab::CurrentSettings.akismet_enabled
end end
def submit(type) def submit(type)
......
module Auth module Auth
class ContainerRegistryAuthenticationService < BaseService class ContainerRegistryAuthenticationService < BaseService
extend Gitlab::CurrentSettings
AUDIENCE = 'container_registry'.freeze AUDIENCE = 'container_registry'.freeze
def execute(authentication_abilities:) def execute(authentication_abilities:)
...@@ -32,7 +30,7 @@ module Auth ...@@ -32,7 +30,7 @@ module Auth
end end
def self.token_expire_at def self.token_expire_at
Time.now + current_application_settings.container_registry_token_expire_delay.minutes Time.now + Gitlab::CurrentSettings.container_registry_token_expire_delay.minutes
end end
private private
......
class BaseService class BaseService
include Gitlab::Allowable include Gitlab::Allowable
include Gitlab::CurrentSettings
attr_accessor :project, :current_user, :params attr_accessor :project, :current_user, :params
......
...@@ -2,8 +2,6 @@ module Ci ...@@ -2,8 +2,6 @@ module Ci
# This class responsible for assigning # This class responsible for assigning
# proper pending build to runner on runner API request # proper pending build to runner on runner API request
class RegisterJobService class RegisterJobService
include Gitlab::CurrentSettings
attr_reader :runner attr_reader :runner
Result = Struct.new(:build, :valid?) Result = Struct.new(:build, :valid?)
......
class GitPushService < BaseService class GitPushService < BaseService
attr_accessor :push_data, :push_commits attr_accessor :push_data, :push_commits
include Gitlab::CurrentSettings
include Gitlab::Access include Gitlab::Access
# The N most recent commits to process in a single push payload. # The N most recent commits to process in a single push payload.
......
class GravatarService class GravatarService
include Gitlab::CurrentSettings
def execute(email, size = nil, scale = 2, username: nil) def execute(email, size = nil, scale = 2, username: nil)
return unless current_application_settings.gravatar_enabled? return unless Gitlab::CurrentSettings.gravatar_enabled?
identifier = email.presence || username.presence identifier = email.presence || username.presence
return unless identifier return unless identifier
......
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
# #
module Projects module Projects
class HousekeepingService < BaseService class HousekeepingService < BaseService
include Gitlab::CurrentSettings
# Timeout set to 24h # Timeout set to 24h
LEASE_TIMEOUT = 86400 LEASE_TIMEOUT = 86400
...@@ -83,19 +81,19 @@ module Projects ...@@ -83,19 +81,19 @@ module Projects
end end
def housekeeping_enabled? def housekeeping_enabled?
current_application_settings.housekeeping_enabled Gitlab::CurrentSettings.housekeeping_enabled
end end
def gc_period def gc_period
current_application_settings.housekeeping_gc_period Gitlab::CurrentSettings.housekeeping_gc_period
end end
def full_repack_period def full_repack_period
current_application_settings.housekeeping_full_repack_period Gitlab::CurrentSettings.housekeeping_full_repack_period
end end
def repack_period def repack_period
current_application_settings.housekeeping_incremental_repack_period Gitlab::CurrentSettings.housekeeping_incremental_repack_period
end end
end end
end end
module Projects module Projects
class UpdatePagesService < BaseService class UpdatePagesService < BaseService
include Gitlab::CurrentSettings
BLOCK_SIZE = 32.kilobytes BLOCK_SIZE = 32.kilobytes
MAX_SIZE = 1.terabyte MAX_SIZE = 1.terabyte
SITE_PATH = 'public/'.freeze SITE_PATH = 'public/'.freeze
...@@ -134,7 +132,7 @@ module Projects ...@@ -134,7 +132,7 @@ module Projects
end end
def max_size def max_size
max_pages_size = current_application_settings.max_pages_size.megabytes max_pages_size = Gitlab::CurrentSettings.max_pages_size.megabytes
return MAX_SIZE if max_pages_size.zero? return MAX_SIZE if max_pages_size.zero?
......
...@@ -34,7 +34,7 @@ module Projects ...@@ -34,7 +34,7 @@ module Projects
def run_auto_devops_pipeline? def run_auto_devops_pipeline?
return false if project.repository.gitlab_ci_yml || !project.auto_devops.previous_changes.include?('enabled') return false if project.repository.gitlab_ci_yml || !project.auto_devops.previous_changes.include?('enabled')
project.auto_devops.enabled? || (project.auto_devops.enabled.nil? && current_application_settings.auto_devops_enabled?) project.auto_devops.enabled? || (project.auto_devops.enabled.nil? && Gitlab::CurrentSettings.auto_devops_enabled?)
end end
private private
......
...@@ -11,10 +11,8 @@ class SubmitUsagePingService ...@@ -11,10 +11,8 @@ class SubmitUsagePingService
percentage_projects_prometheus_active leader_service_desk_issues instance_service_desk_issues percentage_projects_prometheus_active leader_service_desk_issues instance_service_desk_issues
percentage_service_desk_issues].freeze percentage_service_desk_issues].freeze
include Gitlab::CurrentSettings
def execute def execute
return false unless current_application_settings.usage_ping_enabled? return false unless Gitlab::CurrentSettings.usage_ping_enabled?
response = HTTParty.post( response = HTTParty.post(
URL, URL,
......
class UploadService class UploadService
include Gitlab::CurrentSettings
def initialize(model, file, uploader_class = FileUploader) def initialize(model, file, uploader_class = FileUploader)
@model, @file, @uploader_class = model, file, uploader_class @model, @file, @uploader_class = model, file, uploader_class
end end
...@@ -17,6 +15,6 @@ class UploadService ...@@ -17,6 +15,6 @@ class UploadService
private private
def max_attachment_size def max_attachment_size
current_application_settings.max_attachment_size.megabytes.to_i Gitlab::CurrentSettings.max_attachment_size.megabytes.to_i
end end
end end
module Users module Users
class BuildService < BaseService class BuildService < BaseService
include Gitlab::CurrentSettings
def initialize(current_user, params = {}) def initialize(current_user, params = {})
@current_user = current_user @current_user = current_user
@params = params.dup @params = params.dup
...@@ -34,7 +32,7 @@ module Users ...@@ -34,7 +32,7 @@ module Users
private private
def can_create_user? def can_create_user?
(current_user.nil? && current_application_settings.allow_signup?) || current_user&.admin? (current_user.nil? && Gitlab::CurrentSettings.allow_signup?) || current_user&.admin?
end end
# Allowed params for creating a user (admins only) # Allowed params for creating a user (admins only)
...@@ -102,7 +100,7 @@ module Users ...@@ -102,7 +100,7 @@ module Users
end end
def skip_user_confirmation_email_from_setting def skip_user_confirmation_email_from_setting
!current_application_settings.send_user_confirmation_email !Gitlab::CurrentSettings.send_user_confirmation_email
end end
end end
end end
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
= render 'callout' = render 'callout'
.prepend-top-default .prepend-top-default
- if !current_application_settings.usage_ping_enabled - if !Gitlab::CurrentSettings.usage_ping_enabled
= render 'disabled' = render 'disabled'
- elsif @metric.blank? - elsif @metric.blank?
= render 'no_data' = render 'no_data'
......
...@@ -119,7 +119,7 @@ ...@@ -119,7 +119,7 @@
.well-segment.admin-well .well-segment.admin-well
%h4 %h4
Components Components
- if current_application_settings.version_check_enabled - if Gitlab::CurrentSettings.version_check_enabled
.pull-right .pull-right
= version_status_badge = version_status_badge
%p %p
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
.pull-left .pull-left
%p %p
#{ s_('HealthCheck|Access token is') } #{ s_('HealthCheck|Access token is') }
%code#health-check-token= current_application_settings.health_check_access_token %code#health-check-token= Gitlab::CurrentSettings.health_check_access_token
.prepend-top-10 .prepend-top-10
= button_to _("Reset health check access token"), reset_health_check_token_admin_application_settings_path, = button_to _("Reset health check access token"), reset_health_check_token_admin_application_settings_path,
method: :put, class: 'btn btn-default', method: :put, class: 'btn btn-default',
...@@ -18,11 +18,11 @@ ...@@ -18,11 +18,11 @@
= link_to s_('More information is available|here'), help_page_path('user/admin_area/monitoring/health_check') = link_to s_('More information is available|here'), help_page_path('user/admin_area/monitoring/health_check')
%ul %ul
%li %li
%code= readiness_url(token: current_application_settings.health_check_access_token) %code= readiness_url(token: Gitlab::CurrentSettings.health_check_access_token)
%li %li
%code= liveness_url(token: current_application_settings.health_check_access_token) %code= liveness_url(token: Gitlab::CurrentSettings.health_check_access_token)
%li %li
%code= metrics_url(token: current_application_settings.health_check_access_token) %code= metrics_url(token: Gitlab::CurrentSettings.health_check_access_token)
%hr %hr
.panel.panel-default .panel.panel-default
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
data: { confirm: _("Are you sure you want to reset registration token?") } data: { confirm: _("Are you sure you want to reset registration token?") }
= render partial: 'ci/runner/how_to_setup_runner', = render partial: 'ci/runner/how_to_setup_runner',
locals: { registration_token: current_application_settings.runners_registration_token, locals: { registration_token: Gitlab::CurrentSettings.runners_registration_token,
type: 'shared' } type: 'shared' }
.append-bottom-20.clearfix .append-bottom-20.clearfix
......
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
%p.lead.append-bottom-20 %p.lead.append-bottom-20
Please check your email to confirm your account Please check your email to confirm your account
%hr %hr
- if current_application_settings.after_sign_up_text.present? - if Gitlab::CurrentSettings.after_sign_up_text.present?
.well-confirmation.text-center .well-confirmation.text-center
= markdown_field(current_application_settings, :after_sign_up_text) = markdown_field(Gitlab::CurrentSettings, :after_sign_up_text)
%p.text-center %p.text-center
No confirmation email received? Please check your spam folder or No confirmation email received? Please check your spam folder or
.append-bottom-20.prepend-top-20.text-center .append-bottom-20.prepend-top-20.text-center
......
= webpack_bundle_tag 'docs' = webpack_bundle_tag 'docs'
%div %div
- if current_application_settings.help_page_text.present? - if Gitlab::CurrentSettings.help_page_text.present?
= markdown_field(current_application_settings, :help_page_text) = markdown_field(Gitlab::CurrentSettings.current_application_settings, :help_page_text)
%hr %hr
%h1 %h1
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
= version_status_badge = version_status_badge
%hr %hr
- unless current_application_settings.help_page_hide_commercial_content? - unless Gitlab::CurrentSettings.help_page_hide_commercial_content?
%p.slead %p.slead
GitLab is open source software to collaborate on code. GitLab is open source software to collaborate on code.
%br %br
...@@ -46,6 +46,6 @@ ...@@ -46,6 +46,6 @@
%li %li
%button.btn-blank.btn-link.js-trigger-shortcut{ type: 'button' } %button.btn-blank.btn-link.js-trigger-shortcut{ type: 'button' }
Use shortcuts Use shortcuts
- unless current_application_settings.help_page_hide_commercial_content? - unless Gitlab::CurrentSettings.help_page_hide_commercial_content?
%li= link_to 'Get a support subscription', 'https://about.gitlab.com/pricing/' %li= link_to 'Get a support subscription', 'https://about.gitlab.com/pricing/'
%li= link_to 'Compare GitLab editions', 'https://about.gitlab.com/features/#compare' %li= link_to 'Compare GitLab editions', 'https://about.gitlab.com/features/#compare'
...@@ -3,4 +3,4 @@ ...@@ -3,4 +3,4 @@
= icon('circle', class: 'cgreen') = icon('circle', class: 'cgreen')
Integration is active for Integration is active for
= link_to koding_project_url, target: '_blank', rel: 'noopener noreferrer' do = link_to koding_project_url, target: '_blank', rel: 'noopener noreferrer' do
#{current_application_settings.koding_url} #{Gitlab::CurrentSettings.koding_url}
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
= webpack_bundle_tag "webpack_runtime" = webpack_bundle_tag "webpack_runtime"
= webpack_bundle_tag "common" = webpack_bundle_tag "common"
= webpack_bundle_tag "main" = webpack_bundle_tag "main"
= webpack_bundle_tag "raven" if current_application_settings.clientside_sentry_enabled = webpack_bundle_tag "raven" if Gitlab::CurrentSettings.clientside_sentry_enabled
= webpack_bundle_tag "test" if Rails.env.test? = webpack_bundle_tag "test" if Rails.env.test?
- if content_for?(:page_specific_javascripts) - if content_for?(:page_specific_javascripts)
......
...@@ -26,8 +26,8 @@ ...@@ -26,8 +26,8 @@
Perform code reviews and enhance collaboration with merge requests. Perform code reviews and enhance collaboration with merge requests.
Each project can also have an issue tracker and a wiki. Each project can also have an issue tracker and a wiki.
- if current_application_settings.sign_in_text.present? - if Gitlab::CurrentSettings.sign_in_text.present?
= markdown_field(current_application_settings, :sign_in_text) = markdown_field(Gitlab::CurrentSettings.current_application_settings, :sign_in_text)
%hr.footer-fixed %hr.footer-fixed
.container.footer-container .container.footer-container
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
= link_to profile_account_path do = link_to profile_account_path do
%strong.fly-out-top-item-name %strong.fly-out-top-item-name
#{ _('Account') } #{ _('Account') }
- if current_application_settings.user_oauth_applications? - if Gitlab::CurrentSettings.user_oauth_applications?
= nav_link(controller: 'oauth/applications') do = nav_link(controller: 'oauth/applications') do
= link_to applications_profile_path do = link_to applications_profile_path do
.nav-icon-container .nav-icon-container
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
- else - else
commented on a #{link_to 'discussion', @target_url} commented on a #{link_to 'discussion', @target_url}
- elsif current_application_settings.email_author_in_body - elsif Gitlab::CurrentSettings.email_author_in_body
%p.details %p.details
#{link_to @note.author_name, user_url(@note.author)} commented: #{link_to @note.author_name, user_url(@note.author)} commented:
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<%= ":" -%> <%= ":" -%>
<% elsif current_application_settings.email_author_in_body -%> <% elsif Gitlab::CurrentSettings.email_author_in_body -%>
<%= "#{@note.author_name} commented:" -%> <%= "#{@note.author_name} commented:" -%>
......
- if current_application_settings.email_author_in_body - if Gitlab::CurrentSettings.email_author_in_body
%p.details %p.details
#{link_to @issue.author_name, user_url(@issue.author)} created an issue: #{link_to @issue.author_name, user_url(@issue.author)} created an issue:
......
- if current_application_settings.email_author_in_body - if Gitlab::CurrentSettings.email_author_in_body
%p.details %p.details
#{link_to @merge_request.author_name, user_url(@merge_request.author)} created a merge request: #{link_to @merge_request.author_name, user_url(@merge_request.author)} created a merge request:
......
%p %p
Hi #{@user['name']}! Hi #{@user['name']}!
%p %p
- if current_application_settings.allow_signup? - if Gitlab::CurrentSettings.allow_signup?
Your account has been created successfully. Your account has been created successfully.
- else - else
The Administrator created an account for you. Now you are a member of the company GitLab application. The Administrator created an account for you. Now you are a member of the company GitLab application.
......
- return unless current_application_settings.project_export_enabled? - return unless Gitlab::CurrentSettings.project_export_enabled?
- project = local_assigns.fetch(:project) - project = local_assigns.fetch(:project)
- expanded = Rails.env.test? - expanded = Rails.env.test?
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
- link = commit_path(project, commit, merge_request: merge_request) - link = commit_path(project, commit, merge_request: merge_request)
- cache_key = [project.full_path, - cache_key = [project.full_path,
commit.id, commit.id,
current_application_settings, Gitlab::CurrentSettings.current_application_settings,
@path.presence, @path.presence,
current_controller?(:commits), current_controller?(:commits),
merge_request&.iid, merge_request&.iid,
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
.radio .radio
= form.label :enabled_ do = form.label :enabled_ do
= form.radio_button :enabled, '' = form.radio_button :enabled, ''
%strong Instance default (#{current_application_settings.auto_devops_enabled? ? 'enabled' : 'disabled'}) %strong Instance default (#{Gitlab::CurrentSettings.auto_devops_enabled? ? 'enabled' : 'disabled'})
%br %br
%span.descr %span.descr
Follow the instance default to either have Auto DevOps enabled or disabled when there is no project specific <code>.gitlab-ci.yml</code>. Follow the instance default to either have Auto DevOps enabled or disabled when there is no project specific <code>.gitlab-ci.yml</code>.
......
%h3 Shared Runners %h3 Shared Runners
.bs-callout.bs-callout-warning.shared-runners-description .bs-callout.bs-callout-warning.shared-runners-description
- if current_application_settings.shared_runners_text.present? - if Gitlab::CurrentSettings.shared_runners_text.present?
= markdown_field(current_application_settings, :shared_runners_text) = markdown_field(Gitlab::CurrentSettings.current_application_settings, :shared_runners_text)
- else - else
GitLab Shared Runners execute code of different projects on the same Runner GitLab Shared Runners execute code of different projects on the same Runner
unless you configure GitLab Runner Autoscale with MaxBuilds 1 (which it is unless you configure GitLab Runner Autoscale with MaxBuilds 1 (which it is
......
class GitGarbageCollectWorker class GitGarbageCollectWorker
include ApplicationWorker include ApplicationWorker
include Gitlab::CurrentSettings
sidekiq_options retry: false sidekiq_options retry: false
...@@ -102,7 +101,7 @@ class GitGarbageCollectWorker ...@@ -102,7 +101,7 @@ class GitGarbageCollectWorker
end end
def bitmaps_enabled? def bitmaps_enabled?
current_application_settings.housekeeping_bitmaps_enabled Gitlab::CurrentSettings.housekeeping_bitmaps_enabled
end end
def git(write_bitmaps:) def git(write_bitmaps:)
......
module API module API
module Helpers module Helpers
module Runner module Runner
include Gitlab::CurrentSettings
JOB_TOKEN_HEADER = 'HTTP_JOB_TOKEN'.freeze JOB_TOKEN_HEADER = 'HTTP_JOB_TOKEN'.freeze
JOB_TOKEN_PARAM = :token JOB_TOKEN_PARAM = :token
UPDATE_RUNNER_EVERY = 10 * 60 UPDATE_RUNNER_EVERY = 10 * 60
def runner_registration_token_valid? def runner_registration_token_valid?
ActiveSupport::SecurityUtils.variable_size_secure_compare(params[:token], ActiveSupport::SecurityUtils.variable_size_secure_compare(params[:token],
current_application_settings.runners_registration_token) Gitlab::CurrentSettings.runners_registration_token)
end end
def get_runner_version_from_params def get_runner_version_from_params
...@@ -70,7 +68,7 @@ module API ...@@ -70,7 +68,7 @@ module API
end end
def max_artifacts_size def max_artifacts_size
current_application_settings.max_artifacts_size.megabytes.to_i Gitlab::CurrentSettings.max_artifacts_size.megabytes.to_i
end end
end end
end end
......
# Read about interceptors in http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails # Read about interceptors in http://guides.rubyonrails.org/action_mailer_basics.html#intercepting-emails
class EmailTemplateInterceptor class EmailTemplateInterceptor
extend Gitlab::CurrentSettings
def self.delivering_email(message) def self.delivering_email(message)
# Remove HTML part if HTML emails are disabled. # Remove HTML part if HTML emails are disabled.
unless current_application_settings.html_emails_enabled unless Gitlab::CurrentSettings.html_emails_enabled
message.parts.delete_if do |part| message.parts.delete_if do |part|
part.content_type.start_with?('text/html') part.content_type.start_with?('text/html')
end end
......
...@@ -6,8 +6,6 @@ module Gitlab ...@@ -6,8 +6,6 @@ module Gitlab
# Parser/renderer for the AsciiDoc format that uses Asciidoctor and filters # Parser/renderer for the AsciiDoc format that uses Asciidoctor and filters
# the resulting HTML through HTML pipeline filters. # the resulting HTML through HTML pipeline filters.
module Asciidoc module Asciidoc
extend Gitlab::CurrentSettings
DEFAULT_ADOC_ATTRS = [ DEFAULT_ADOC_ATTRS = [
'showtitle', 'idprefix=user-content-', 'idseparator=-', 'env=gitlab', 'showtitle', 'idprefix=user-content-', 'idseparator=-', 'env=gitlab',
'env-gitlab', 'source-highlighter=html-pipeline', 'icons=font' 'env-gitlab', 'source-highlighter=html-pipeline', 'icons=font'
...@@ -33,9 +31,9 @@ module Gitlab ...@@ -33,9 +31,9 @@ module Gitlab
def self.plantuml_setup def self.plantuml_setup
Asciidoctor::PlantUml.configure do |conf| Asciidoctor::PlantUml.configure do |conf|
conf.url = current_application_settings.plantuml_url conf.url = Gitlab::CurrentSettings.plantuml_url
conf.svg_enable = current_application_settings.plantuml_enabled conf.svg_enable = Gitlab::CurrentSettings.plantuml_enabled
conf.png_enable = current_application_settings.plantuml_enabled conf.png_enable = Gitlab::CurrentSettings.plantuml_enabled
conf.txt_enable = false conf.txt_enable = false
end end
end end
......
...@@ -14,8 +14,6 @@ module Gitlab ...@@ -14,8 +14,6 @@ module Gitlab
DEFAULT_SCOPES = [:api].freeze DEFAULT_SCOPES = [:api].freeze
class << self class << self
include Gitlab::CurrentSettings
def find_for_git_client(login, password, project:, ip:) def find_for_git_client(login, password, project:, ip:)
raise "Must provide an IP for rate limiting" if ip.nil? raise "Must provide an IP for rate limiting" if ip.nil?
...@@ -57,7 +55,7 @@ module Gitlab ...@@ -57,7 +55,7 @@ module Gitlab
if user.nil? || user.ldap_user? if user.nil? || user.ldap_user?
# Second chance - try LDAP authentication # Second chance - try LDAP authentication
Gitlab::LDAP::Authentication.login(login, password) Gitlab::LDAP::Authentication.login(login, password)
elsif current_application_settings.password_authentication_enabled_for_git? elsif Gitlab::CurrentSettings.password_authentication_enabled_for_git?
user if user.active? && user.valid_password?(password) user if user.active? && user.valid_password?(password)
end end
end end
...@@ -87,7 +85,7 @@ module Gitlab ...@@ -87,7 +85,7 @@ module Gitlab
private private
def authenticate_using_internal_or_ldap_password? def authenticate_using_internal_or_ldap_password?
current_application_settings.password_authentication_enabled_for_git? || Gitlab::LDAP::Config.enabled? Gitlab::CurrentSettings.password_authentication_enabled_for_git? || Gitlab::LDAP::Config.enabled?
end end
def service_request_check(login, password, project) def service_request_check(login, password, project)
......
module Gitlab module Gitlab
module CurrentSettings module CurrentSettings
extend self class << self
def current_application_settings def current_application_settings
if RequestStore.active? if RequestStore.active?
RequestStore.fetch(:current_application_settings) { ensure_application_settings! } RequestStore.fetch(:current_application_settings) { ensure_application_settings! }
...@@ -10,10 +9,16 @@ module Gitlab ...@@ -10,10 +9,16 @@ module Gitlab
end end
end end
delegate :sidekiq_throttling_enabled?, to: :current_application_settings
def fake_application_settings(defaults = ::ApplicationSetting.defaults) def fake_application_settings(defaults = ::ApplicationSetting.defaults)
FakeApplicationSettings.new(defaults) Gitlab::FakeApplicationSettings.new(defaults)
end
def method_missing(name, *args, &block)
current_application_settings.send(name, *args, &block) # rubocop:disable GitlabSecurity/PublicSend
end
def respond_to_missing?(name, include_private = false)
current_application_settings.respond_to?(name, include_private) || super
end end
private private
...@@ -70,4 +75,5 @@ module Gitlab ...@@ -70,4 +75,5 @@ module Gitlab
false false
end end
end end
end
end end
...@@ -3,12 +3,11 @@ ...@@ -3,12 +3,11 @@
module Gitlab module Gitlab
module GonHelper module GonHelper
include WebpackHelper include WebpackHelper
include Gitlab::CurrentSettings
def add_gon_variables def add_gon_variables
gon.api_version = 'v4' gon.api_version = 'v4'
gon.default_avatar_url = URI.join(Gitlab.config.gitlab.url, ActionController::Base.helpers.image_path('no_avatar.png')).to_s gon.default_avatar_url = URI.join(Gitlab.config.gitlab.url, ActionController::Base.helpers.image_path('no_avatar.png')).to_s
gon.max_file_size = current_application_settings.max_attachment_size gon.max_file_size = Gitlab::CurrentSettings.max_attachment_size
gon.asset_host = ActionController::Base.asset_host gon.asset_host = ActionController::Base.asset_host
gon.webpack_public_path = webpack_public_path gon.webpack_public_path = webpack_public_path
gon.relative_url_root = Gitlab.config.gitlab.relative_url_root gon.relative_url_root = Gitlab.config.gitlab.relative_url_root
...@@ -16,7 +15,7 @@ module Gitlab ...@@ -16,7 +15,7 @@ module Gitlab
gon.user_color_scheme = Gitlab::ColorSchemes.for_user(current_user).css_class gon.user_color_scheme = Gitlab::ColorSchemes.for_user(current_user).css_class
gon.katex_css_url = ActionController::Base.helpers.asset_path('katex.css') gon.katex_css_url = ActionController::Base.helpers.asset_path('katex.css')
gon.katex_js_url = ActionController::Base.helpers.asset_path('katex.js') gon.katex_js_url = ActionController::Base.helpers.asset_path('katex.js')
gon.sentry_dsn = current_application_settings.clientside_sentry_dsn if current_application_settings.clientside_sentry_enabled gon.sentry_dsn = Gitlab::CurrentSettings.clientside_sentry_dsn if Gitlab::CurrentSettings.clientside_sentry_enabled
gon.gitlab_url = Gitlab.config.gitlab.url gon.gitlab_url = Gitlab.config.gitlab.url
gon.revision = Gitlab::REVISION gon.revision = Gitlab::REVISION
gon.gitlab_logo = ActionController::Base.helpers.asset_path('gitlab_logo.png') gon.gitlab_logo = ActionController::Base.helpers.asset_path('gitlab_logo.png')
......
module Gitlab module Gitlab
module LegacyGithubImport module LegacyGithubImport
class ProjectCreator class ProjectCreator
include Gitlab::CurrentSettings
attr_reader :repo, :name, :namespace, :current_user, :session_data, :type attr_reader :repo, :name, :namespace, :current_user, :session_data, :type
def initialize(repo, name, namespace, current_user, session_data, type: 'github') def initialize(repo, name, namespace, current_user, session_data, type: 'github')
...@@ -36,7 +34,7 @@ module Gitlab ...@@ -36,7 +34,7 @@ module Gitlab
end end
def visibility_level def visibility_level
repo.private ? Gitlab::VisibilityLevel::PRIVATE : current_application_settings.default_project_visibility repo.private ? Gitlab::VisibilityLevel::PRIVATE : Gitlab::CurrentSettings.default_project_visibility
end end
# #
......
...@@ -71,8 +71,7 @@ module Gitlab ...@@ -71,8 +71,7 @@ module Gitlab
end end
def prometheus_metrics_enabled_unmemoized def prometheus_metrics_enabled_unmemoized
metrics_folder_present? && metrics_folder_present? && Gitlab::CurrentSettings.prometheus_metrics_enabled || false
Gitlab::CurrentSettings.current_application_settings[:prometheus_metrics_enabled] || false
end end
end end
end end
......
...@@ -4,7 +4,6 @@ module Gitlab ...@@ -4,7 +4,6 @@ module Gitlab
module Middleware module Middleware
class Go class Go
include ActionView::Helpers::TagHelper include ActionView::Helpers::TagHelper
include Gitlab::CurrentSettings
PROJECT_PATH_REGEX = %r{\A(#{Gitlab::PathRegex.full_namespace_route_regex}/#{Gitlab::PathRegex.project_route_regex})/}.freeze PROJECT_PATH_REGEX = %r{\A(#{Gitlab::PathRegex.full_namespace_route_regex}/#{Gitlab::PathRegex.project_route_regex})/}.freeze
...@@ -42,7 +41,7 @@ module Gitlab ...@@ -42,7 +41,7 @@ module Gitlab
project_url = URI.join(config.gitlab.url, path) project_url = URI.join(config.gitlab.url, path)
import_prefix = strip_url(project_url.to_s) import_prefix = strip_url(project_url.to_s)
repository_url = if current_application_settings.enabled_git_access_protocol == 'ssh' repository_url = if Gitlab::CurrentSettings.enabled_git_access_protocol == 'ssh'
shell = config.gitlab_shell shell = config.gitlab_shell
port = ":#{shell.ssh_port}" unless shell.ssh_port == 22 port = ":#{shell.ssh_port}" unless shell.ssh_port == 22
"ssh://#{shell.ssh_user}@#{shell.ssh_host}#{port}/#{path}.git" "ssh://#{shell.ssh_user}@#{shell.ssh_host}#{port}/#{path}.git"
......
module Gitlab module Gitlab
module PerformanceBar module PerformanceBar
extend Gitlab::CurrentSettings
ALLOWED_USER_IDS_KEY = 'performance_bar_allowed_user_ids:v2'.freeze ALLOWED_USER_IDS_KEY = 'performance_bar_allowed_user_ids:v2'.freeze
EXPIRY_TIME = 5.minutes EXPIRY_TIME = 5.minutes
...@@ -13,7 +11,7 @@ module Gitlab ...@@ -13,7 +11,7 @@ module Gitlab
end end
def self.allowed_group_id def self.allowed_group_id
current_application_settings.performance_bar_allowed_group_id Gitlab::CurrentSettings.performance_bar_allowed_group_id
end end
def self.allowed_user_ids def self.allowed_user_ids
......
module Gitlab module Gitlab
class PollingInterval class PollingInterval
extend Gitlab::CurrentSettings
HEADER_NAME = 'Poll-Interval'.freeze HEADER_NAME = 'Poll-Interval'.freeze
def self.set_header(response, interval:) def self.set_header(response, interval:)
if polling_enabled? if polling_enabled?
multiplier = current_application_settings.polling_interval_multiplier multiplier = Gitlab::CurrentSettings.polling_interval_multiplier
value = (interval * multiplier).to_i value = (interval * multiplier).to_i
else else
value = -1 value = -1
...@@ -16,7 +14,7 @@ module Gitlab ...@@ -16,7 +14,7 @@ module Gitlab
end end
def self.polling_enabled? def self.polling_enabled?
!current_application_settings.polling_interval_multiplier.zero? !Gitlab::CurrentSettings.polling_interval_multiplier.zero?
end end
end end
end end
module Gitlab module Gitlab
module ProtocolAccess module ProtocolAccess
extend Gitlab::CurrentSettings
def self.allowed?(protocol) def self.allowed?(protocol)
if protocol == 'web' if protocol == 'web'
true true
elsif current_application_settings.enabled_git_access_protocol.blank? elsif Gitlab::CurrentSettings.enabled_git_access_protocol.blank?
true true
else else
protocol == current_application_settings.enabled_git_access_protocol protocol == Gitlab::CurrentSettings.enabled_git_access_protocol
end end
end end
end end
......
module Gitlab module Gitlab
module Recaptcha module Recaptcha
extend Gitlab::CurrentSettings
def self.load_configurations! def self.load_configurations!
if current_application_settings.recaptcha_enabled if Gitlab::CurrentSettings.recaptcha_enabled
::Recaptcha.configure do |config| ::Recaptcha.configure do |config|
config.public_key = current_application_settings.recaptcha_site_key config.public_key = Gitlab::CurrentSettings.recaptcha_site_key
config.private_key = current_application_settings.recaptcha_private_key config.private_key = Gitlab::CurrentSettings.recaptcha_private_key
end end
true true
...@@ -14,7 +12,7 @@ module Gitlab ...@@ -14,7 +12,7 @@ module Gitlab
end end
def self.enabled? def self.enabled?
current_application_settings.recaptcha_enabled Gitlab::CurrentSettings.recaptcha_enabled
end end
end end
end end
module Gitlab module Gitlab
module Sentry module Sentry
extend Gitlab::CurrentSettings
def self.enabled? def self.enabled?
Rails.env.production? && current_application_settings.sentry_enabled? Rails.env.production? && Gitlab::CurrentSettings.sentry_enabled?
end end
def self.context(current_user = nil) def self.context(current_user = nil)
......
module Gitlab module Gitlab
class UsageData class UsageData
class << self class << self
include Gitlab::CurrentSettings
def data(force_refresh: false) def data(force_refresh: false)
Rails.cache.fetch('usage_data', force: force_refresh, expires_in: 2.weeks) { uncached_data } Rails.cache.fetch('usage_data', force: force_refresh, expires_in: 2.weeks) { uncached_data }
end end
...@@ -19,7 +17,7 @@ module Gitlab ...@@ -19,7 +17,7 @@ module Gitlab
def license_usage_data def license_usage_data
usage_data = { usage_data = {
uuid: current_application_settings.uuid, uuid: Gitlab::CurrentSettings.uuid,
hostname: Gitlab.config.gitlab.host, hostname: Gitlab.config.gitlab.host,
version: Gitlab::VERSION, version: Gitlab::VERSION,
active_user_count: User.active.count, active_user_count: User.active.count,
...@@ -79,9 +77,9 @@ module Gitlab ...@@ -79,9 +77,9 @@ module Gitlab
def features_usage_data_ce def features_usage_data_ce
{ {
signup: current_application_settings.allow_signup?, signup: Gitlab::CurrentSettings.allow_signup?,
ldap: Gitlab.config.ldap.enabled, ldap: Gitlab.config.ldap.enabled,
gravatar: current_application_settings.gravatar_enabled?, gravatar: Gitlab::CurrentSettings.gravatar_enabled?,
omniauth: Gitlab.config.omniauth.enabled, omniauth: Gitlab.config.omniauth.enabled,
reply_by_email: Gitlab::IncomingEmail.enabled?, reply_by_email: Gitlab::IncomingEmail.enabled?,
container_registry: Gitlab.config.registry.enabled, container_registry: Gitlab.config.registry.enabled,
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
# #
module Gitlab module Gitlab
module VisibilityLevel module VisibilityLevel
extend CurrentSettings
extend ActiveSupport::Concern extend ActiveSupport::Concern
included do included do
...@@ -58,7 +57,7 @@ module Gitlab ...@@ -58,7 +57,7 @@ module Gitlab
end end
def allowed_levels def allowed_levels
restricted_levels = current_application_settings.restricted_visibility_levels restricted_levels = Gitlab::CurrentSettings.restricted_visibility_levels
self.values - restricted_levels self.values - restricted_levels
end end
...@@ -81,7 +80,7 @@ module Gitlab ...@@ -81,7 +80,7 @@ module Gitlab
end end
def non_restricted_level?(level) def non_restricted_level?(level)
restricted_levels = current_application_settings.restricted_visibility_levels restricted_levels = Gitlab::CurrentSettings.restricted_visibility_levels
if restricted_levels.nil? if restricted_levels.nil?
true true
......
...@@ -5,7 +5,7 @@ describe HealthCheckController do ...@@ -5,7 +5,7 @@ describe HealthCheckController do
let(:json_response) { JSON.parse(response.body) } let(:json_response) { JSON.parse(response.body) }
let(:xml_response) { Hash.from_xml(response.body)['hash'] } let(:xml_response) { Hash.from_xml(response.body)['hash'] }
let(:token) { current_application_settings.health_check_access_token } let(:token) { Gitlab::CurrentSettings.health_check_access_token }
let(:whitelisted_ip) { '127.0.0.1' } let(:whitelisted_ip) { '127.0.0.1' }
let(:not_whitelisted_ip) { '127.0.0.2' } let(:not_whitelisted_ip) { '127.0.0.2' }
......
...@@ -4,7 +4,7 @@ describe HealthController do ...@@ -4,7 +4,7 @@ describe HealthController do
include StubENV include StubENV
let(:json_response) { JSON.parse(response.body) } let(:json_response) { JSON.parse(response.body) }
let(:token) { current_application_settings.health_check_access_token } let(:token) { Gitlab::CurrentSettings.health_check_access_token }
let(:whitelisted_ip) { '127.0.0.1' } let(:whitelisted_ip) { '127.0.0.1' }
let(:not_whitelisted_ip) { '127.0.0.2' } let(:not_whitelisted_ip) { '127.0.0.2' }
......
...@@ -16,8 +16,7 @@ describe Oauth::ApplicationsController do ...@@ -16,8 +16,7 @@ describe Oauth::ApplicationsController do
end end
it 'redirects back to profile page if OAuth applications are disabled' do it 'redirects back to profile page if OAuth applications are disabled' do
settings = double(user_oauth_applications?: false) allow(Gitlab::CurrentSettings.current_application_settings).to receive(:user_oauth_applications?).and_return(false)
allow_any_instance_of(Gitlab::CurrentSettings).to receive(:current_application_settings).and_return(settings)
get :index get :index
......
...@@ -17,7 +17,7 @@ feature "Admin Health Check", :feature do ...@@ -17,7 +17,7 @@ feature "Admin Health Check", :feature do
page.has_text? 'Health Check' page.has_text? 'Health Check'
page.has_text? 'Health information can be retrieved' page.has_text? 'Health information can be retrieved'
token = current_application_settings.health_check_access_token token = Gitlab::CurrentSettings.health_check_access_token
expect(page).to have_content("Access token is #{token}") expect(page).to have_content("Access token is #{token}")
expect(page).to have_selector('#health-check-token', text: token) expect(page).to have_selector('#health-check-token', text: token)
...@@ -25,7 +25,7 @@ feature "Admin Health Check", :feature do ...@@ -25,7 +25,7 @@ feature "Admin Health Check", :feature do
describe 'reload access token' do describe 'reload access token' do
it 'changes the access token' do it 'changes the access token' do
orig_token = current_application_settings.health_check_access_token orig_token = Gitlab::CurrentSettings.health_check_access_token
click_button 'Reset health check access token' click_button 'Reset health check access token'
expect(page).to have_content('New health check access token has been generated!') expect(page).to have_content('New health check access token has been generated!')
......
...@@ -156,7 +156,7 @@ describe "Admin Runners" do ...@@ -156,7 +156,7 @@ describe "Admin Runners" do
end end
describe 'runners registration token' do describe 'runners registration token' do
let!(:token) { current_application_settings.runners_registration_token } let!(:token) { Gitlab::CurrentSettings.runners_registration_token }
before do before do
visit admin_runners_path visit admin_runners_path
......
...@@ -38,12 +38,12 @@ feature 'Admin updates settings' do ...@@ -38,12 +38,12 @@ feature 'Admin updates settings' do
uncheck 'Project export enabled' uncheck 'Project export enabled'
click_button 'Save' click_button 'Save'
expect(current_application_settings.gravatar_enabled).to be_falsey expect(Gitlab::CurrentSettings.gravatar_enabled).to be_falsey
expect(current_application_settings.home_page_url).to eq "https://about.gitlab.com/" expect(Gitlab::CurrentSettings.home_page_url).to eq "https://about.gitlab.com/"
expect(current_application_settings.help_page_text).to eq "Example text" expect(Gitlab::CurrentSettings.help_page_text).to eq "Example text"
expect(current_application_settings.help_page_hide_commercial_content).to be_truthy expect(Gitlab::CurrentSettings.help_page_hide_commercial_content).to be_truthy
expect(current_application_settings.help_page_support_url).to eq "http://example.com/help" expect(Gitlab::CurrentSettings.help_page_support_url).to eq "http://example.com/help"
expect(current_application_settings.project_export_enabled).to be_falsey expect(Gitlab::CurrentSettings.project_export_enabled).to be_falsey
expect(page).to have_content "Application settings saved successfully" expect(page).to have_content "Application settings saved successfully"
end end
......
...@@ -9,7 +9,7 @@ describe 'New issue', :js do ...@@ -9,7 +9,7 @@ describe 'New issue', :js do
before do before do
stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false')
current_application_settings.update!( Gitlab::CurrentSettings.update!(
akismet_enabled: true, akismet_enabled: true,
akismet_api_key: 'testkey', akismet_api_key: 'testkey',
recaptcha_enabled: true, recaptcha_enabled: true,
......
...@@ -4,7 +4,7 @@ describe VersionCheckHelper do ...@@ -4,7 +4,7 @@ describe VersionCheckHelper do
describe '#version_status_badge' do describe '#version_status_badge' do
it 'should return nil if not dev environment and not enabled' do it 'should return nil if not dev environment and not enabled' do
allow(Rails.env).to receive(:production?) { false } allow(Rails.env).to receive(:production?) { false }
allow(helper.current_application_settings).to receive(:version_check_enabled) { false } allow(Gitlab::CurrentSettings.current_application_settings).to receive(:version_check_enabled) { false }
expect(helper.version_status_badge).to be(nil) expect(helper.version_status_badge).to be(nil)
end end
...@@ -12,7 +12,7 @@ describe VersionCheckHelper do ...@@ -12,7 +12,7 @@ describe VersionCheckHelper do
context 'when production and enabled' do context 'when production and enabled' do
before do before do
allow(Rails.env).to receive(:production?) { true } allow(Rails.env).to receive(:production?) { true }
allow(helper.current_application_settings).to receive(:version_check_enabled) { true } allow(Gitlab::CurrentSettings.current_application_settings).to receive(:version_check_enabled) { true }
allow_any_instance_of(VersionCheck).to receive(:url) { 'https://version.host.com/check.svg?gitlab_info=xxx' } allow_any_instance_of(VersionCheck).to receive(:url) { 'https://version.host.com/check.svg?gitlab_info=xxx' }
@image_tag = helper.version_status_badge @image_tag = helper.version_status_badge
......
...@@ -8,22 +8,37 @@ describe Gitlab::CurrentSettings do ...@@ -8,22 +8,37 @@ describe Gitlab::CurrentSettings do
end end
describe '#current_application_settings' do describe '#current_application_settings' do
it 'allows keys to be called directly' do
db_settings = create(:application_setting,
home_page_url: 'http://mydomain.com',
signup_enabled: false)
expect(described_class.home_page_url).to eq(db_settings.home_page_url)
expect(described_class.signup_enabled?).to be_falsey
expect(described_class.signup_enabled).to be_falsey
expect(described_class.metrics_sample_interval).to be(15)
end
context 'with DB available' do context 'with DB available' do
before do before do
allow_any_instance_of(described_class).to receive(:connect_to_db?).and_return(true) # For some reason, `allow(described_class).to receive(:connect_to_db?).and_return(true)` causes issues
# during the initialization phase of the test suite, so instead let's mock the internals of it
allow(ActiveRecord::Base.connection).to receive(:active?).and_return(true)
allow(ActiveRecord::Base.connection).to receive(:table_exists?).and_call_original
allow(ActiveRecord::Base.connection).to receive(:table_exists?).with('application_settings').and_return(true)
end end
it 'attempts to use cached values first' do it 'attempts to use cached values first' do
expect(ApplicationSetting).to receive(:cached) expect(ApplicationSetting).to receive(:cached)
expect(current_application_settings).to be_a(ApplicationSetting) expect(described_class.current_application_settings).to be_a(ApplicationSetting)
end end
it 'falls back to DB if Redis returns an empty value' do it 'falls back to DB if Redis returns an empty value' do
expect(ApplicationSetting).to receive(:cached).and_return(nil) expect(ApplicationSetting).to receive(:cached).and_return(nil)
expect(ApplicationSetting).to receive(:last).and_call_original.twice expect(ApplicationSetting).to receive(:last).and_call_original.twice
expect(current_application_settings).to be_a(ApplicationSetting) expect(described_class.current_application_settings).to be_a(ApplicationSetting)
end end
it 'falls back to DB if Redis fails' do it 'falls back to DB if Redis fails' do
...@@ -32,14 +47,14 @@ describe Gitlab::CurrentSettings do ...@@ -32,14 +47,14 @@ describe Gitlab::CurrentSettings do
expect(ApplicationSetting).to receive(:cached).and_raise(::Redis::BaseError) expect(ApplicationSetting).to receive(:cached).and_raise(::Redis::BaseError)
expect(Rails.cache).to receive(:fetch).with(ApplicationSetting::CACHE_KEY).and_raise(Redis::BaseError) expect(Rails.cache).to receive(:fetch).with(ApplicationSetting::CACHE_KEY).and_raise(Redis::BaseError)
expect(current_application_settings).to eq(db_settings) expect(described_class.current_application_settings).to eq(db_settings)
end end
it 'creates default ApplicationSettings if none are present' do it 'creates default ApplicationSettings if none are present' do
expect(ApplicationSetting).to receive(:cached).and_raise(::Redis::BaseError) expect(ApplicationSetting).to receive(:cached).and_raise(::Redis::BaseError)
expect(Rails.cache).to receive(:fetch).with(ApplicationSetting::CACHE_KEY).and_raise(Redis::BaseError) expect(Rails.cache).to receive(:fetch).with(ApplicationSetting::CACHE_KEY).and_raise(Redis::BaseError)
settings = current_application_settings settings = described_class.current_application_settings
expect(settings).to be_a(ApplicationSetting) expect(settings).to be_a(ApplicationSetting)
expect(settings).to be_persisted expect(settings).to be_persisted
...@@ -52,7 +67,7 @@ describe Gitlab::CurrentSettings do ...@@ -52,7 +67,7 @@ describe Gitlab::CurrentSettings do
end end
it 'returns an in-memory ApplicationSetting object' do it 'returns an in-memory ApplicationSetting object' do
settings = current_application_settings settings = described_class.current_application_settings
expect(settings).to be_a(OpenStruct) expect(settings).to be_a(OpenStruct)
expect(settings.sign_in_enabled?).to eq(settings.sign_in_enabled) expect(settings.sign_in_enabled?).to eq(settings.sign_in_enabled)
...@@ -63,7 +78,7 @@ describe Gitlab::CurrentSettings do ...@@ -63,7 +78,7 @@ describe Gitlab::CurrentSettings do
db_settings = create(:application_setting, db_settings = create(:application_setting,
home_page_url: 'http://mydomain.com', home_page_url: 'http://mydomain.com',
signup_enabled: false) signup_enabled: false)
settings = current_application_settings settings = described_class.current_application_settings
app_defaults = ApplicationSetting.last app_defaults = ApplicationSetting.last
expect(settings).to be_a(OpenStruct) expect(settings).to be_a(OpenStruct)
...@@ -80,15 +95,16 @@ describe Gitlab::CurrentSettings do ...@@ -80,15 +95,16 @@ describe Gitlab::CurrentSettings do
context 'with DB unavailable' do context 'with DB unavailable' do
before do before do
allow_any_instance_of(described_class).to receive(:connect_to_db?).and_return(false) # For some reason, `allow(described_class).to receive(:connect_to_db?).and_return(false)` causes issues
allow_any_instance_of(described_class).to receive(:retrieve_settings_from_database_cache?).and_return(nil) # during the initialization phase of the test suite, so instead let's mock the internals of it
allow(ActiveRecord::Base.connection).to receive(:active?).and_return(false)
end end
it 'returns an in-memory ApplicationSetting object' do it 'returns an in-memory ApplicationSetting object' do
expect(ApplicationSetting).not_to receive(:current) expect(ApplicationSetting).not_to receive(:current)
expect(ApplicationSetting).not_to receive(:last) expect(ApplicationSetting).not_to receive(:last)
expect(current_application_settings).to be_a(OpenStruct) expect(described_class.current_application_settings).to be_a(OpenStruct)
end end
end end
...@@ -101,8 +117,8 @@ describe Gitlab::CurrentSettings do ...@@ -101,8 +117,8 @@ describe Gitlab::CurrentSettings do
expect(ApplicationSetting).not_to receive(:current) expect(ApplicationSetting).not_to receive(:current)
expect(ApplicationSetting).not_to receive(:last) expect(ApplicationSetting).not_to receive(:last)
expect(current_application_settings).to be_a(ApplicationSetting) expect(described_class.current_application_settings).to be_a(ApplicationSetting)
expect(current_application_settings).not_to be_persisted expect(described_class.current_application_settings).not_to be_persisted
end end
end end
end end
......
...@@ -20,7 +20,7 @@ describe Gitlab::Metrics do ...@@ -20,7 +20,7 @@ describe Gitlab::Metrics do
context 'prometheus metrics enabled in config' do context 'prometheus metrics enabled in config' do
before do before do
allow(Gitlab::CurrentSettings).to receive(:current_application_settings).and_return(prometheus_metrics_enabled: true) allow(Gitlab::CurrentSettings).to receive(:prometheus_metrics_enabled).and_return(true)
end end
context 'when metrics folder is present' do context 'when metrics folder is present' do
......
...@@ -103,9 +103,9 @@ describe Gitlab::UsageData do ...@@ -103,9 +103,9 @@ describe Gitlab::UsageData do
subject { described_class.features_usage_data_ce } subject { described_class.features_usage_data_ce }
it 'gathers feature usage data' do it 'gathers feature usage data' do
expect(subject[:signup]).to eq(current_application_settings.allow_signup?) expect(subject[:signup]).to eq(Gitlab::CurrentSettings.allow_signup?)
expect(subject[:ldap]).to eq(Gitlab.config.ldap.enabled) expect(subject[:ldap]).to eq(Gitlab.config.ldap.enabled)
expect(subject[:gravatar]).to eq(current_application_settings.gravatar_enabled?) expect(subject[:gravatar]).to eq(Gitlab::CurrentSettings.gravatar_enabled?)
expect(subject[:omniauth]).to eq(Gitlab.config.omniauth.enabled) expect(subject[:omniauth]).to eq(Gitlab.config.omniauth.enabled)
expect(subject[:reply_by_email]).to eq(Gitlab::IncomingEmail.enabled?) expect(subject[:reply_by_email]).to eq(Gitlab::IncomingEmail.enabled?)
expect(subject[:container_registry]).to eq(Gitlab.config.registry.enabled) expect(subject[:container_registry]).to eq(Gitlab.config.registry.enabled)
...@@ -129,7 +129,7 @@ describe Gitlab::UsageData do ...@@ -129,7 +129,7 @@ describe Gitlab::UsageData do
subject { described_class.license_usage_data } subject { described_class.license_usage_data }
it "gathers license data" do it "gathers license data" do
expect(subject[:uuid]).to eq(current_application_settings.uuid) expect(subject[:uuid]).to eq(Gitlab::CurrentSettings.uuid)
expect(subject[:version]).to eq(Gitlab::VERSION) expect(subject[:version]).to eq(Gitlab::VERSION)
expect(subject[:active_user_count]).to eq(User.active.count) expect(subject[:active_user_count]).to eq(User.active.count)
expect(subject[:recorded_at]).to be_a(Time) expect(subject[:recorded_at]).to be_a(Time)
......
require 'spec_helper' require 'spec_helper'
describe Key, :mailer do describe Key, :mailer do
include Gitlab::CurrentSettings
describe 'modules' do
subject { described_class }
it { is_expected.to include_module(Gitlab::CurrentSettings) }
end
describe "Associations" do describe "Associations" do
it { is_expected.to belong_to(:user) } it { is_expected.to belong_to(:user) }
end end
......
...@@ -17,8 +17,6 @@ describe Note do ...@@ -17,8 +17,6 @@ describe Note do
it { is_expected.to include_module(Participable) } it { is_expected.to include_module(Participable) }
it { is_expected.to include_module(Mentionable) } it { is_expected.to include_module(Mentionable) }
it { is_expected.to include_module(Awardable) } it { is_expected.to include_module(Awardable) }
it { is_expected.to include_module(Gitlab::CurrentSettings) }
end end
describe 'validation' do describe 'validation' do
......
...@@ -117,7 +117,6 @@ describe Project do ...@@ -117,7 +117,6 @@ describe Project do
it { is_expected.to include_module(Gitlab::ConfigHelper) } it { is_expected.to include_module(Gitlab::ConfigHelper) }
it { is_expected.to include_module(Gitlab::ShellAdapter) } it { is_expected.to include_module(Gitlab::ShellAdapter) }
it { is_expected.to include_module(Gitlab::VisibilityLevel) } it { is_expected.to include_module(Gitlab::VisibilityLevel) }
it { is_expected.to include_module(Gitlab::CurrentSettings) }
it { is_expected.to include_module(Referable) } it { is_expected.to include_module(Referable) }
it { is_expected.to include_module(Sortable) } it { is_expected.to include_module(Sortable) }
end end
......
require 'spec_helper' require 'spec_helper'
describe User do describe User do
include Gitlab::CurrentSettings
include ProjectForksHelper include ProjectForksHelper
describe 'modules' do describe 'modules' do
subject { described_class } subject { described_class }
it { is_expected.to include_module(Gitlab::ConfigHelper) } it { is_expected.to include_module(Gitlab::ConfigHelper) }
it { is_expected.to include_module(Gitlab::CurrentSettings) }
it { is_expected.to include_module(Referable) } it { is_expected.to include_module(Referable) }
it { is_expected.to include_module(Sortable) } it { is_expected.to include_module(Sortable) }
it { is_expected.to include_module(TokenAuthenticatable) } it { is_expected.to include_module(TokenAuthenticatable) }
...@@ -560,7 +558,7 @@ describe User do ...@@ -560,7 +558,7 @@ describe User do
stub_config_setting(default_can_create_group: true) stub_config_setting(default_can_create_group: true)
expect { user.update_attributes(external: false) }.to change { user.can_create_group }.to(true) expect { user.update_attributes(external: false) }.to change { user.can_create_group }.to(true)
.and change { user.projects_limit }.to(current_application_settings.default_projects_limit) .and change { user.projects_limit }.to(Gitlab::CurrentSettings.default_projects_limit)
end end
end end
...@@ -826,7 +824,7 @@ describe User do ...@@ -826,7 +824,7 @@ describe User do
end end
end end
context 'when current_application_settings.user_default_external is true' do context 'when Gitlab::CurrentSettings.user_default_external is true' do
before do before do
stub_application_setting(user_default_external: true) stub_application_setting(user_default_external: true)
end end
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
require 'spec_helper' require 'spec_helper'
describe API::Projects do describe API::Projects do
include Gitlab::CurrentSettings
let(:user) { create(:user) } let(:user) { create(:user) }
let(:user2) { create(:user) } let(:user2) { create(:user) }
let(:user3) { create(:user) } let(:user3) { create(:user) }
......
require 'spec_helper' require 'spec_helper'
describe API::V3::Projects do describe API::V3::Projects do
include Gitlab::CurrentSettings
let(:user) { create(:user) } let(:user) { create(:user) }
let(:user2) { create(:user) } let(:user2) { create(:user) }
let(:user3) { create(:user) } let(:user3) { create(:user) }
......
...@@ -15,9 +15,7 @@ RSpec.configure do |config| ...@@ -15,9 +15,7 @@ RSpec.configure do |config|
# Track the maximum number of failures # Track the maximum number of failures
first_failure = Time.parse("2017-11-14 17:52:30") first_failure = Time.parse("2017-11-14 17:52:30")
last_failure = Time.parse("2017-11-14 18:54:37") last_failure = Time.parse("2017-11-14 18:54:37")
failure_count = Gitlab::CurrentSettings failure_count = Gitlab::CurrentSettings.circuitbreaker_failure_count_threshold + 1
.current_application_settings
.circuitbreaker_failure_count_threshold + 1
cache_key = "#{Gitlab::Git::Storage::REDIS_KEY_PREFIX}broken:#{Gitlab::Environment.hostname}" cache_key = "#{Gitlab::Git::Storage::REDIS_KEY_PREFIX}broken:#{Gitlab::Environment.hostname}"
Gitlab::Git::Storage.redis.with do |redis| Gitlab::Git::Storage.redis.with do |redis|
......
# Inspired by https://github.com/ljkbennett/stub_env/blob/master/lib/stub_env/helpers.rb # Inspired by https://github.com/ljkbennett/stub_env/blob/master/lib/stub_env/helpers.rb
module StubENV module StubENV
include Gitlab::CurrentSettings
def stub_env(key_or_hash, value = nil) def stub_env(key_or_hash, value = nil)
init_stub unless env_stubbed? init_stub unless env_stubbed?
......
...@@ -9,7 +9,7 @@ shared_context 'unique ips sign in limit' do ...@@ -9,7 +9,7 @@ shared_context 'unique ips sign in limit' do
before do before do
stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false') stub_env('IN_MEMORY_APPLICATION_SETTINGS', 'false')
current_application_settings.update!( Gitlab::CurrentSettings.update!(
unique_ips_limit_enabled: true, unique_ips_limit_enabled: true,
unique_ips_limit_time_window: 10000 unique_ips_limit_time_window: 10000
) )
...@@ -34,7 +34,7 @@ end ...@@ -34,7 +34,7 @@ end
shared_examples 'user login operation with unique ip limit' do shared_examples 'user login operation with unique ip limit' do
include_context 'unique ips sign in limit' do include_context 'unique ips sign in limit' do
before do before do
current_application_settings.update!(unique_ips_limit_per_user: 1) Gitlab::CurrentSettings.update!(unique_ips_limit_per_user: 1)
end end
it 'allows user authenticating from the same ip' do it 'allows user authenticating from the same ip' do
...@@ -52,7 +52,7 @@ end ...@@ -52,7 +52,7 @@ end
shared_examples 'user login request with unique ip limit' do |success_status = 200| shared_examples 'user login request with unique ip limit' do |success_status = 200|
include_context 'unique ips sign in limit' do include_context 'unique ips sign in limit' do
before do before do
current_application_settings.update!(unique_ips_limit_per_user: 1) Gitlab::CurrentSettings.update!(unique_ips_limit_per_user: 1)
end end
it 'allows user authenticating from the same ip' do it 'allows user authenticating from the same ip' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment