summaryrefslogtreecommitdiff
path: root/app/views/projects/mirrors/_mirror_repos_list.html.haml
blob: 46833b5986be13f29fb9b8c478df5a20c0e0e711 (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
- mirror_settings_enabled = can?(current_user, :admin_remote_mirror, @project)

.panel.panel-default
  .table-responsive
    - if !@project.mirror? && @project.remote_mirrors.count == 0
      .gl-card.gl-mt-5
        .gl-card-header
          %strong
            = _('Mirrored repositories') + ' (0)'
        .gl-card-body
          = _('There are currently no mirrored repositories.')
    - else
      %table.table.push-pull-table
        %thead
          %tr
            %th
              = _('Mirrored repositories')
              = render_if_exists 'projects/mirrors/mirrored_repositories_count'
            %th= _('Direction')
            %th= _('Last update attempt')
            %th= _('Last successful update')
            %th
            %th
        %tbody.js-mirrors-table-body
          = render_if_exists 'projects/mirrors/table_pull_row'
          - @project.remote_mirrors.each_with_index do |mirror, index|
            - next if mirror.new_record?
            %tr.rspec-mirrored-repository-row{ class: ('bg-secondary' if mirror.disabled?), data: { qa_selector: 'mirrored_repository_row_container' } }
              %td{ data: { qa_selector: 'mirror_repository_url_content' } }
                = mirror.safe_url || _('Invalid URL')
                = render_if_exists 'projects/mirrors/mirror_branches_setting_badge', record: mirror
              %td= _('Push')
              %td
                = mirror.last_update_started_at.present? ? time_ago_with_tooltip(mirror.last_update_started_at) : _('Never')
              %td{ data: { qa_selector: 'mirror_last_update_at_content' } }= mirror.last_update_at.present? ? time_ago_with_tooltip(mirror.last_update_at) : _('Never')
              %td
                - if mirror.disabled?
                  = render 'projects/mirrors/disabled_mirror_badge'
                - if mirror.last_error.present?
                  = gl_badge_tag _('Error'), { variant: :danger }, { data: { toggle: 'tooltip', html: 'true', qa_selector: 'mirror_error_badge_content' }, title: html_escape(mirror.last_error.try(:strip)) }
              %td.gl-display-flex
                - if mirror_settings_enabled
                  .btn-group.mirror-actions-group{ role: 'group' }
                    - if mirror.ssh_key_auth?
                      = clipboard_button(text: mirror.ssh_public_key, class: 'gl-button btn btn-default btn-icon', title: _('Copy SSH public key'), qa_selector: 'copy_public_key_button')
                    = render 'shared/remote_mirror_update_button', remote_mirror: mirror
                    = render Pajamas::ButtonComponent.new(variant: :danger,
                      icon: 'remove',
                      button_options: { class: 'js-delete-mirror rspec-delete-mirror', title: _('Remove'), data: { mirror_id: mirror.id, toggle: 'tooltip', container: 'body' } })