summaryrefslogtreecommitdiff
path: root/app/views/projects/commits/_commits.html.haml
blob: 82d3bfbcfe6dbf1336331a99db95340c05c615c4 (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
- merge_request = local_assigns.fetch(:merge_request, nil)
- project = local_assigns.fetch(:project) { merge_request&.project }
- ref = local_assigns.fetch(:ref) { merge_request&.source_branch }
- can_update_merge_request = can?(current_user, :update_merge_request, @merge_request)

- commits = @commits&.map { |commit| commit.present(current_user: current_user) }
- context_commits = @context_commits&.map { |commit| commit.present(current_user: current_user) }
- hidden = @hidden_commit_count

- commits.chunk { |c| c.committed_date.in_time_zone.to_date }.each do |day, daily_commits|
  %li.commit-header.js-commit-header{ data: { day: day } }
    %span.day= l(day, format: '%d %b, %Y')
    %span.commits-count= n_("%d commit", "%d commits", daily_commits.size) % daily_commits.size

  %li.commits-row{ data: { day: day } }
    %ul.content-list.commit-list.flex-list
      - if Feature.enabled?(:cached_commits, project, default_enabled: :yaml)
        = render partial: 'projects/commits/commit', collection: daily_commits, locals: { project: project, ref: ref, merge_request: merge_request }, cached: -> (commit) { commit_partial_cache_key(commit, ref: ref, merge_request: merge_request, request: request) }
      - else
        = render partial: 'projects/commits/commit', collection: daily_commits, locals: { project: project, ref: ref, merge_request: merge_request }

- if context_commits.present?
  %li.commit-header.js-commit-header
    %span.font-weight-bold= n_("%d previously merged commit", "%d previously merged commits", context_commits.count) % context_commits.count
    - if can_update_merge_request
      %button.gl-button.btn.btn-default.ml-3.add-review-item-modal-trigger{ type: "button", data: { context_commits_empty: 'false' } }
        = _('Add/remove')

  %li.commits-row
    %ul.content-list.commit-list.flex-list
      - if Feature.enabled?(:cached_commits, project, default_enabled: :yaml)
        = render partial: 'projects/commits/commit', collection: context_commits, locals: { project: project, ref: ref, merge_request: merge_request }, cached: -> (commit) { commit_partial_cache_key(commit, ref: ref, merge_request: merge_request, request: request) }
      - else
        = render partial: 'projects/commits/commit', collection: context_commits, locals: { project: project, ref: ref, merge_request: merge_request }

- if hidden > 0
  %li
    = render Pajamas::AlertComponent.new(variant: :warning,
      dismissible: false) do
      .gl-alert-body
        = n_('%s additional commit has been omitted to prevent performance issues.', '%s additional commits have been omitted to prevent performance issues.', hidden) % number_with_delimiter(hidden)

- if can_update_merge_request && context_commits&.empty?
  %button.gl-button.btn.btn-default.mt-3.add-review-item-modal-trigger{ type: "button", data: { context_commits_empty: 'true' } }
    = _('Add previously merged commits')

- if commits.size == 0 && context_commits.nil?
  .commits-empty.gl-mt-6
    = custom_icon('illustration_no_commits')
    %h4
      = _('Your search didn\'t match any commits.')
    %p
      = _('Try changing or removing filters.')