summaryrefslogtreecommitdiff
path: root/app/views/projects/buttons/_download.html.haml
blob: cae8bbf8c01c8288b1c7ef9c34e33e0b4f282b24 (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
- pipeline = local_assigns.fetch(:pipeline) { project.latest_successful_pipeline_for(ref) }

- if !project.empty_repo? && can?(current_user, :download_code, project)
  - archive_prefix = "#{project.path}-#{ref.tr('/', '-')}"
  .project-action-button.dropdown.inline>
    %button.btn.has-tooltip{ title: s_('DownloadSource|Download'), 'data-toggle' => 'dropdown', 'aria-label' => s_('DownloadSource|Download'), 'data-display' => 'static', data: { qa_selector: 'download_source_code_button' } }
      = sprite_icon('download')
      %span.sr-only=  _('Select Archive Format')
      = sprite_icon("chevron-down")
    .dropdown-menu.dropdown-menu-right{ role: 'menu' }
      %section
        %h5.m-0.dropdown-bold-header= _('Download source code')
        .dropdown-menu-content
          = render 'projects/buttons/download_links', project: project, ref: ref, archive_prefix: archive_prefix, path: nil
      - if Feature.enabled?(:git_archive_path, default_enabled: true)
        - if vue_file_list_enabled?
          #js-directory-downloads{ data: { links: directory_download_links(project, ref, archive_prefix).to_json } }
        - elsif directory?
          %section.border-top.pt-1.mt-1
            %h5.m-0.dropdown-bold-header= _('Download this directory')
            .dropdown-menu-content
              = render 'projects/buttons/download_links', project: project, ref: ref, archive_prefix: archive_prefix, path: @path
      - if pipeline && pipeline.latest_builds_with_artifacts.any?
        %section.border-top.pt-1.mt-1
          %h5.m-0.dropdown-bold-header= _('Download artifacts')
          - unless pipeline.latest?
            %span.unclickable= ci_status_for_statuseable(project.pipeline_for(ref))
          %h6.m-0.dropdown-header= _('Previous Artifacts')
          %ul
            - pipeline.latest_builds_with_artifacts.each do |job|
              %li= link_to job.name, latest_succeeded_project_artifacts_path(project, "#{ref}/download", job: job.name), rel: 'nofollow', download: ''