36 lines
2.1 KiB
Text
36 lines
2.1 KiB
Text
- 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" }
|
|
|
|
.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'
|