_form.html.haml 13.0 KB
Newer Older
1 2 3 4 5 6 7
= form_for @application_setting, url: admin_application_settings_path, html: { class: 'form-horizontal fieldset-form' } do |f|
  - if @application_setting.errors.any?
    #error_explanation
      .alert.alert-danger
        - @application_setting.errors.full_messages.each do |msg|
          %p= msg

8
  %fieldset
9
    %legend Visibility and Access Controls
10
    .form-group
11 12 13 14 15 16
      = f.label :default_branch_protection, class: 'control-label col-sm-2'
      .col-sm-10
        = f.select :default_branch_protection, options_for_select(Gitlab::Access.protection_options, @application_setting.default_branch_protection), {}, class: 'form-control'
    .form-group.project-visibility-level-holder
      = f.label :default_project_visibility, class: 'control-label col-sm-2'
      .col-sm-10
17
        = render('shared/visibility_radios', model_method: :default_project_visibility, form: f, selected_level: @application_setting.default_project_visibility, form_model: Project.new)
18 19 20
    .form-group.project-visibility-level-holder
      = f.label :default_snippet_visibility, class: 'control-label col-sm-2'
      .col-sm-10
21
        = render('shared/visibility_radios', model_method: :default_snippet_visibility, form: f, selected_level: @application_setting.default_snippet_visibility, form_model: ProjectSnippet.new)
22 23 24 25
    .form-group.group-visibility-level-holder
      = f.label :default_group_visibility, class: 'control-label col-sm-2'
      .col-sm-10
        = render('shared/visibility_radios', model_method: :default_group_visibility, form: f, selected_level: @application_setting.default_group_visibility, form_model: Group.new)
26 27 28 29 30 31 32 33
    .form-group
      = f.label :restricted_visibility_levels, class: 'control-label col-sm-2'
      .col-sm-10
        - data_attrs = { toggle: 'buttons' }
        .btn-group{ data: data_attrs }
          - restricted_level_checkboxes('restricted-visibility-help').each do |level|
            = level
        %span.help-block#restricted-visibility-help Selected levels cannot be used by non-admin users for projects or snippets
34 35 36 37 38 39 40 41 42 43 44 45 46 47
    .form-group
      = f.label :import_sources, class: 'control-label col-sm-2'
      .col-sm-10
        - data_attrs = { toggle: 'buttons' }
        .btn-group{ data: data_attrs }
          - import_sources_checkboxes('import-sources-help').each do |source|
            = source
        %span.help-block#import-sources-help
          Enabled sources for code import during project creation. OmniAuth must be configured for GitHub
          = link_to "(?)", help_page_path("integration", "github")
          , Bitbucket
          = link_to "(?)", help_page_path("integration", "bitbucket")
          and GitLab.com
          = link_to "(?)", help_page_path("integration", "gitlab")
48
    .form-group
49 50
      .col-sm-offset-2.col-sm-10
        .checkbox
51 52 53
          = f.label :version_check_enabled do
            = f.check_box :version_check_enabled
            Version check enabled
54 55 56 57 58 59 60 61 62 63
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :email_author_in_body do
            = f.check_box :email_author_in_body
            Include author name in notification email body
          .help-block
            Some email servers do not support overriding the email sender name.
            Enable this option to include the name of the author of the issue,
            merge request or comment in the email body instead.
64 65 66 67
    .form-group
      = f.label :admin_notification_email, class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :admin_notification_email, class: 'form-control'
68 69
        .help-block
          Abuse reports will be sent to this address if it is set. Abuse reports are always available in the admin area.
70 71 72

  %fieldset
    %legend Account and Limit Settings
73
    .form-group
74 75 76 77 78
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :gravatar_enabled do
            = f.check_box :gravatar_enabled
            Gravatar enabled
79
    .form-group
80
      = f.label :default_projects_limit, class: 'control-label col-sm-2'
81 82
      .col-sm-10
        = f.number_field :default_projects_limit, class: 'form-control'
83
    .form-group
84
      = f.label :max_attachment_size, 'Maximum attachment size (MB)', class: 'control-label col-sm-2'
V
Vinnie Okada 已提交
85
      .col-sm-10
86 87 88
        = f.number_field :max_attachment_size, class: 'form-control'
    .form-group
      = f.label :session_expire_delay, 'Session duration (minutes)', class: 'control-label col-sm-2'
V
Vinnie Okada 已提交
89
      .col-sm-10
90 91
        = f.number_field :session_expire_delay, class: 'form-control'
        %span.help-block#session_expire_delay_help_block GitLab restart is required to apply changes
92
    .form-group
93
      = f.label :user_oauth_applications, 'User OAuth applications', class: 'control-label col-sm-2'
94
      .col-sm-10
95 96 97 98 99 100 101 102 103 104
        .checkbox
          = f.label :user_oauth_applications do
            = f.check_box :user_oauth_applications
            Allow users to register any application to use GitLab as an OAuth provider

  %fieldset
    %legend Sign-in Restrictions
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
105 106 107
          = f.label :signup_enabled do
            = f.check_box :signup_enabled
            Sign-up enabled
108 109 110 111 112 113
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :signin_enabled do
            = f.check_box :signin_enabled
            Sign-in enabled
114
    .form-group
115
      = f.label :two_factor_authentication, 'Two-factor authentication', class: 'control-label col-sm-2'
116 117 118 119
      .col-sm-10
        .checkbox
          = f.label :require_two_factor_authentication do
            = f.check_box :require_two_factor_authentication
120
            Require all users to setup Two-factor authentication
121
    .form-group
122
      = f.label :two_factor_authentication, 'Two-factor grace period (hours)', class: 'control-label col-sm-2'
123 124 125
      .col-sm-10
        = f.number_field :two_factor_grace_period, min: 0, class: 'form-control', placeholder: '0'
        .help-block Amount of time (in hours) that users are allowed to skip forced configuration of two-factor authentication
126 127 128 129 130
    .form-group
      = f.label :restricted_signup_domains, 'Restricted domains for sign-ups', class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_area :restricted_signup_domains_raw, placeholder: 'domain.com', class: 'form-control'
        .help-block Only users with e-mail addresses that match these domain(s) will be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com
131
    .form-group
132
      = f.label :home_page_url, 'Home page URL', class: 'control-label col-sm-2'
133
      .col-sm-10
134 135
        = f.text_field :home_page_url, class: 'form-control', placeholder: 'http://company.example.com', :'aria-describedby' => 'home_help_block'
        %span.help-block#home_help_block We will redirect non-logged in users to this page
136 137 138 139 140
    .form-group
      = f.label :after_sign_out_path, class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :after_sign_out_path, class: 'form-control', placeholder: 'http://company.example.com', :'aria-describedby' => 'after_sign_out_path_help_block'
        %span.help-block#after_sign_out_path_help_block We will redirect users to this page after they sign out
141
    .form-group
142
      = f.label :sign_in_text, class: 'control-label col-sm-2'
143
      .col-sm-10
144 145
        = f.text_area :sign_in_text, class: 'form-control', rows: 4
        .help-block Markdown enabled
146 147 148 149 150
    .form-group
      = f.label :help_page_text, class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_area :help_page_text, class: 'form-control', rows: 4
        .help-block Markdown enabled
151

152 153 154 155 156 157 158
  %fieldset
    %legend Continuous Integration
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :shared_runners_enabled do
            = f.check_box :shared_runners_enabled
S
Steffen Köhler 已提交
159
            Enable shared runners for new projects
160

K
Kamil Trzcinski 已提交
161 162 163 164 165
    .form-group
      = f.label :max_artifacts_size, 'Maximum artifacts size (MB)', class: 'control-label col-sm-2'
      .col-sm-10
        = f.number_field :max_artifacts_size, class: 'form-control'

166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
  %fieldset
    %legend Metrics
    %p
      These settings require a restart to take effect.
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :metrics_enabled do
            = f.check_box :metrics_enabled
            Enable InfluxDB Metrics
    .form-group
      = f.label :metrics_host, 'InfluxDB host', class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :metrics_host, class: 'form-control', placeholder: 'influxdb.example.com'
    .form-group
181
      = f.label :metrics_port, 'InfluxDB port', class: 'control-label col-sm-2'
182
      .col-sm-10
183
        = f.text_field :metrics_port, class: 'form-control', placeholder: '8089'
184
        .help-block
185 186 187 188
          The UDP port to use for connecting to InfluxDB. InfluxDB requires that
          your server configuration specifies a database to store data in when
          sending messages to this port, without it metrics data will not be
          saved.
189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211
    .form-group
      = f.label :metrics_pool_size, 'Connection pool size', class: 'control-label col-sm-2'
      .col-sm-10
        = f.number_field :metrics_pool_size, class: 'form-control'
        .help-block
          The amount of InfluxDB connections to open. Connections are opened
          lazily. Users using multi-threaded application servers should ensure
          enough connections are available (at minimum the amount of application
          server threads).
    .form-group
      = f.label :metrics_timeout, 'Connection timeout', class: 'control-label col-sm-2'
      .col-sm-10
        = f.number_field :metrics_timeout, class: 'form-control'
        .help-block
          The amount of seconds after which an InfluxDB connection will time
          out.
    .form-group
      = f.label :metrics_method_call_threshold, 'Method Call Threshold (ms)', class: 'control-label col-sm-2'
      .col-sm-10
        = f.number_field :metrics_method_call_threshold, class: 'form-control'
        .help-block
          A method call is only tracked when it takes longer to complete than
          the given amount of milliseconds.
212 213 214 215 216 217 218
    .form-group
      = f.label :metrics_sample_interval, 'Sampler Interval (sec)', class: 'control-label col-sm-2'
      .col-sm-10
        = f.number_field :metrics_sample_interval, class: 'form-control'
        .help-block
          The sampling interval in seconds. Sampled data includes memory usage,
          retained Ruby objects, file descriptors and so on.
219

220 221 222 223 224 225 226 227
  %fieldset
    %legend Spam and Anti-bot Protection
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :recaptcha_enabled do
            = f.check_box :recaptcha_enabled
            Enable reCAPTCHA
228
          %span.help-block#recaptcha_help_block Helps prevent bots from creating accounts
229 230 231 232 233 234

    .form-group
      = f.label :recaptcha_site_key, 'reCAPTCHA Site Key', class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :recaptcha_site_key, class: 'form-control'
        .help-block
235 236 237
          Generate site and private keys at
          %a{ href: 'http://www.google.com/recaptcha', target: 'blank'} http://www.google.com/recaptcha

238 239 240 241 242
    .form-group
      = f.label :recaptcha_private_key, 'reCAPTCHA Private Key', class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :recaptcha_private_key, class: 'form-control'

243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :akismet_enabled do
            = f.check_box :akismet_enabled
            Enable Akismet
          %span.help-block#akismet_help_block Helps prevent bots from creating issues

    .form-group
      = f.label :akismet_api_key, 'Akismet API Key', class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :akismet_api_key, class: 'form-control'
        .help-block
          Generate API key at
          %a{ href: 'http://www.akismet.com', target: 'blank'} http://www.akismet.com

J
Jeroen Nijhof 已提交
259 260 261 262 263 264 265 266 267 268
  %fieldset
    %legend Error Reporting and Logging
    %p
      These settings require a restart to take effect.
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :sentry_enabled do
            = f.check_box :sentry_enabled
            Enable Sentry
269 270
          .help-block
            Sentry is an error reporting and logging tool which is currently not shipped with GitLab, get it here:
D
Douwe Maan 已提交
271
            %a{ href: 'https://getsentry.com', target: '_blank' } https://getsentry.com
J
Jeroen Nijhof 已提交
272 273 274 275 276 277

    .form-group
      = f.label :sentry_dsn, 'Sentry DSN', class: 'control-label col-sm-2'
      .col-sm-10
        = f.text_field :sentry_dsn, class: 'form-control'

278 279 280 281 282 283 284 285 286 287 288 289 290
  %fieldset
    %legend Repository Checks
    .form-group
      .col-sm-offset-2.col-sm-10
        .checkbox
          = f.label :repository_checks_enabled do
            = f.check_box :repository_checks_enabled
            Enable Repository Checks
          .help-block
            GitLab will periodically run 
            %a{ href: 'https://www.kernel.org/pub/software/scm/git/docs/git-fsck.html', target: 'blank' } 'git fsck'
            in all project and wiki repositories to look for silent disk corruption issues.

291
  .form-actions
292
    = f.submit 'Save', class: 'btn btn-save'