summaryrefslogtreecommitdiff
path: root/app/views/projects/mirrors/_authentication_method.html.haml
blob: ef6db07a1bb3b57a36216e26ed36d71f82322da2 (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
- mirror = f.object
- is_push = local_assigns.fetch(:is_push, false)
- auth_options = [[_('Password'), 'password'], [_('SSH public key'), 'ssh_public_key']]
- regen_data = { auth_method: 'ssh_public_key', regenerate_ssh_private_key: true }
- ssh_public_key_present = mirror.ssh_public_key.present?

.form-group
  = f.label :auth_method, _('Authentication method'), class: 'label-bold'
  = f.select :auth_method,
      options_for_select(auth_options, mirror.auth_method),
      {}, { class: "form-control js-mirror-auth-type qa-authentication-method" }
  = f.hidden_field :auth_method, value: "password", class: "js-hidden-mirror-auth-type"

.form-group
  .collapse.js-well-changing-auth
    .changing-auth-method= icon('spinner spin lg')
  .well-password-auth.collapse.js-well-password-auth
    = f.label :password, _("Password"), class: "label-bold"
    = f.password_field :password, value: mirror.password, class: 'form-control qa-password', autocomplete: 'new-password'
  - unless is_push
    .well-ssh-auth.collapse.js-well-ssh-auth
      %p.js-ssh-public-key-present{ class: ('collapse' unless ssh_public_key_present) }
        = _('Here is the public SSH key that needs to be added to the remote server. For more information, please refer to the documentation.')
      %p.js-ssh-public-key-pending{ class: ('collapse' if ssh_public_key_present) }
        = _('An SSH key will be automatically generated when the form is submitted. For more information, please refer to the documentation.')

      .clearfix.js-ssh-public-key-wrap{ class: ('collapse' unless ssh_public_key_present) }
        %code.prepend-top-10.ssh-public-key
          = mirror.ssh_public_key
        = clipboard_button(text: mirror.ssh_public_key, title: _("Copy SSH public key to clipboard"), class: 'prepend-top-10 btn-copy-ssh-public-key')

      = button_tag type: 'button',
        data: { endpoint: project_mirror_path(@project), project_data: { import_data_attributes: regen_data } },
        class: "btn btn-inverted btn-warning prepend-top-10 js-btn-regenerate-ssh-key#{ ' collapse' unless ssh_public_key_present }" do
        = icon('spinner spin', class: 'js-spinner d-none')
        = _('Regenerate key')
      = render 'projects/mirrors/regenerate_public_ssh_key_confirm_modal'