debian-mirror-gitlab/app/helpers/application_settings_helper.rb

95 lines
3.1 KiB
Ruby
Raw Normal View History

2015-04-26 12:48:37 +05:30
module ApplicationSettingsHelper
2017-08-17 22:00:37 +05:30
delegate :gravatar_enabled?,
:signup_enabled?,
:signin_enabled?,
:akismet_enabled?,
:koding_enabled?,
to: :current_application_settings
2015-04-26 12:48:37 +05:30
2015-09-11 14:41:01 +05:30
def user_oauth_applications?
current_application_settings.user_oauth_applications
end
2016-08-24 12:49:21 +05:30
def allowed_protocols_present?
current_application_settings.enabled_git_access_protocol.present?
end
def enabled_protocol
case current_application_settings.enabled_git_access_protocol
when 'http'
gitlab_config.protocol
when 'ssh'
'ssh'
end
end
def enabled_project_button(project, protocol)
case protocol
when 'ssh'
ssh_clone_button(project, 'bottom', append_link: false)
else
http_clone_button(project, 'bottom', append_link: false)
end
end
2015-04-26 12:48:37 +05:30
# Return a group of checkboxes that use Bootstrap's button plugin for a
# toggle button effect.
def restricted_level_checkboxes(help_block_id)
Gitlab::VisibilityLevel.options.map do |name, level|
checked = restricted_visibility_levels(true).include?(level)
2017-08-17 22:00:37 +05:30
css_class = checked ? 'active' : ''
checkbox_name = "application_setting[restricted_visibility_levels][]"
2015-04-26 12:48:37 +05:30
2017-08-17 22:00:37 +05:30
label_tag(name, class: css_class) do
2015-04-26 12:48:37 +05:30
check_box_tag(checkbox_name, level, checked,
autocomplete: 'off',
2017-08-17 22:00:37 +05:30
'aria-describedby' => help_block_id,
id: name) + visibility_level_icon(level) + name
2015-04-26 12:48:37 +05:30
end
end
end
2015-09-25 12:07:36 +05:30
# Return a group of checkboxes that use Bootstrap's button plugin for a
# toggle button effect.
def import_sources_checkboxes(help_block_id)
Gitlab::ImportSources.options.map do |name, source|
checked = current_application_settings.import_sources.include?(source)
2017-08-17 22:00:37 +05:30
css_class = checked ? 'active' : ''
2015-09-25 12:07:36 +05:30
checkbox_name = 'application_setting[import_sources][]'
2017-08-17 22:00:37 +05:30
label_tag(name, class: css_class) do
2015-09-25 12:07:36 +05:30
check_box_tag(checkbox_name, source, checked,
autocomplete: 'off',
2017-08-17 22:00:37 +05:30
'aria-describedby' => help_block_id,
id: name.tr(' ', '_')) + name
2015-09-25 12:07:36 +05:30
end
end
end
2016-06-02 11:05:42 +05:30
def oauth_providers_checkboxes
button_based_providers.map do |source|
disabled = current_application_settings.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][]'
label_tag(checkbox_name, class: css_class) do
check_box_tag(checkbox_name, source, !disabled,
autocomplete: 'off') + Gitlab::OAuth::Provider.label_for(source)
end
end
end
2016-08-24 12:49:21 +05:30
2016-11-24 13:41:30 +05:30
def repository_storages_options_for_select
2017-08-17 22:00:37 +05:30
options = Gitlab.config.repositories.storages.map do |name, storage|
["#{name} - #{storage['path']}", name]
2016-08-24 12:49:21 +05:30
end
2016-11-24 13:41:30 +05:30
options_for_select(options, @application_setting.repository_storages)
2016-08-24 12:49:21 +05:30
end
2017-08-17 22:00:37 +05:30
def sidekiq_queue_options_for_select
options_for_select(Sidekiq::Queue.all.map(&:name), @application_setting.sidekiq_throttling_queues)
end
2015-04-26 12:48:37 +05:30
end