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