summaryrefslogtreecommitdiff
path: root/app/helpers/merge_requests_helper.rb
blob: e8e7bf990acf33923be07a9051d711ce7b236a0c (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
module MergeRequestsHelper
  def new_mr_path_from_push_event(event)
    new_project_merge_request_path(
        event.project,
        new_mr_from_push_event(event, event.project)
    )
  end

  def new_mr_path_for_fork_from_push_event(event)
    new_project_merge_request_path(
        event.project,
        new_mr_from_push_event(event, event.project.forked_from_project)
    )
  end


  def new_mr_from_push_event(event, target_project)
    return :merge_request => {
        source_project_id: event.project.id,
        target_project_id: target_project.id,
        source_branch: event.branch_name,
        target_branch: target_project.repository.root_ref,
        title: event.branch_name.titleize
    }
  end

  def mr_css_classes mr
    classes = "merge-request"
    classes << " closed" if mr.closed?
    classes << " merged" if mr.merged?
    classes
  end

  def ci_build_details_path merge_request
    merge_request.source_project.gitlab_ci_service.build_page(merge_request.last_commit.sha)
  end
end