application_settings_helper.rb 2.5 KB
Newer Older
1
module ApplicationSettingsHelper
2 3 4 5
  def gravatar_enabled?
    current_application_settings.gravatar_enabled?
  end

6
  def signup_enabled?
7
    current_application_settings.signup_enabled?
8 9 10
  end

  def signin_enabled?
11
    current_application_settings.signin_enabled?
12 13 14 15 16
  end

  def extra_sign_in_text
    current_application_settings.sign_in_text
  end
17

18 19 20 21
  def shared_runners_text
    current_application_settings.shared_runners_text
  end

22 23 24 25
  def user_oauth_applications?
    current_application_settings.user_oauth_applications
  end

26 27 28 29
  def askimet_enabled?
    current_application_settings.akismet_enabled?
  end

30 31 32 33 34
  # 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)
D
Darby 已提交
35
      css_class = 'btn'
36 37 38 39
      css_class += ' active' if checked
      checkbox_name = 'application_setting[restricted_visibility_levels][]'

      label_tag(checkbox_name, class: css_class) do
40 41
        check_box_tag(checkbox_name, level, checked,
                      autocomplete: 'off',
42 43 44 45
                      'aria-describedby' => help_block_id) + name
      end
    end
  end
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

  # 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)
      css_class = 'btn'
      css_class += ' active' if checked
      checkbox_name = 'application_setting[import_sources][]'

      label_tag(checkbox_name, class: css_class) do
        check_box_tag(checkbox_name, source, checked,
                      autocomplete: 'off',
                      'aria-describedby' => help_block_id) + name
      end
    end
  end
63 64 65

  def oauth_providers_checkboxes(help_block_id)
    button_based_providers.map do |source|
66
      disabled = current_application_settings.disabled_oauth_sign_in_sources.include?(source.to_s)
67
      css_class = 'btn'
68 69
      css_class += ' active' unless disabled
      checkbox_name = 'application_setting[enabled_oauth_sign_in_sources][]'
70 71

      label_tag(checkbox_name, class: css_class) do
72
        check_box_tag(checkbox_name, source, !disabled,
73 74 75 76 77
                      autocomplete: 'off',
                      'aria-describedby' => help_block_id) + Gitlab::OAuth::Provider.label_for(source)
      end
    end
  end
78
end