summaryrefslogtreecommitdiff
path: root/app/views/admin/application_settings/_visibility_and_access.html.haml
blob: e01126e32e1675d7e49f338ff06ea3fb7fd7858d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
= gitlab_ui_form_for @application_setting, url: general_admin_application_settings_path(anchor: 'js-visibility-settings'), html: { class: 'fieldset-form', id: 'visibility-settings' } do |f|
  = form_errors(@application_setting)

  %fieldset
    = render 'shared/project_creation_levels', f: f, method: :default_project_creation, legend: s_('ProjectCreationLevel|Default project creation protection')
    = render_if_exists 'admin/application_settings/default_project_deletion_protection_setting', form: f
    = render_if_exists 'admin/application_settings/deletion_protection_settings', form: f
    .form-group.visibility-level-setting
      = f.label :default_project_visibility, class: 'label-bold'
      = render('shared/visibility_radios', model_method: :default_project_visibility, form: f, selected_level: @application_setting.default_project_visibility, form_model: Project.new)
    .form-group.visibility-level-setting
      = f.label :default_snippet_visibility, class: 'label-bold'
      = render('shared/visibility_radios', model_method: :default_snippet_visibility, form: f, selected_level: @application_setting.default_snippet_visibility, form_model: ProjectSnippet.new)
    .form-group.visibility-level-setting
      = f.label :default_group_visibility, class: 'label-bold'
      = render('shared/visibility_radios', model_method: :default_group_visibility, form: f, selected_level: @application_setting.default_group_visibility, form_model: Group.new)
    .form-group
      = f.label :restricted_visibility_levels, class: 'label-bold gl-mb-0'
      %span.form-text.gl-mt-0.gl-mb-3#restricted-visibility-help
        = _('Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users.')
      = hidden_field_tag 'application_setting[restricted_visibility_levels][]'
      - restricted_level_checkboxes(f).each do |level|
        = level
    .form-group
      = f.label :import_sources, s_('AdminSettings|Import sources'), class: 'label-bold gl-mb-0'
      %span.form-text.gl-mt-0.gl-mb-3#import-sources-help
        = _('Code can be imported from enabled sources during project creation. OmniAuth must be configured for GitHub')
        = link_to sprite_icon('question-o'), help_page_path("integration/github")
        , Bitbucket
        = link_to sprite_icon('question-o'), help_page_path("integration/bitbucket")
        and GitLab.com
        = link_to sprite_icon('question-o'), help_page_path("integration/gitlab")
      = hidden_field_tag 'application_setting[import_sources][]'
      - import_sources_checkboxes(f).each do |source|
        = source

    = render_if_exists 'admin/application_settings/ldap_access_setting', form: f

    .form-group{ data: { testid: 'project-export' } }
      = f.label :project_export, s_('AdminSettings|Project export'), class: 'label-bold'
      = f.gitlab_ui_checkbox_component :project_export_enabled, s_('AdminSettings|Enabled')

    .form-group{ data: { testid: 'bulk-import' } }
      = f.label :bulk_import, s_('AdminSettings|Allow migrating GitLab groups and projects by direct transfer'), class: 'gl-font-weight-bold'
      = f.gitlab_ui_checkbox_component :bulk_import_enabled, s_('AdminSettings|Enabled')

    .form-group
      %label.label-bold= _('Enabled Git access protocols')
      = select(:application_setting, :enabled_git_access_protocol, [['Both SSH and HTTP(S)', nil], ['Only SSH', 'ssh'], ['Only HTTP(S)', 'http']], {}, class: 'form-control')
      %span.form-text.text-muted#clone-protocol-help
        = _('Allow only the selected protocols to be used for Git access.')

    .form-group
      = f.label :custom_http_clone_url_root, _('Custom Git clone URL for HTTP(S)'), class: 'label-bold'
      = f.text_field :custom_http_clone_url_root, class: 'form-control gl-form-input', placeholder: 'https://git.example.com', :'aria-describedby' => 'custom_http_clone_url_root_help_block'
      %span.form-text.text-muted#custom_http_clone_url_root_help_block
        = _('Replaces the clone URL root.')

    - Gitlab::SSHPublicKey.supported_types.each do |type|
      - field_name = :"#{type}_key_restriction"
      .form-group
        = f.label field_name, "#{type.upcase} SSH keys", class: 'label-bold'
        = f.select field_name, key_restriction_options_for_select(type), {}, class: 'form-control'

    .form-group
      %label.label-bold= s_('AdminSettings|Feed token')
      = f.gitlab_ui_checkbox_component :disable_feed_token, s_('AdminSettings|Disable feed token')

    = render_if_exists 'admin/application_settings/globally_allowed_ips', form: f

    -# This is added for Jihu edition in https://jihulab.com/gitlab-cn/gitlab/-/merge_requests/1112
    = render_if_exists 'admin/application_settings/disable_download_button', f: f

  = f.submit _('Save changes'), pajamas_button: true