merge_requests_helper.rb 996 Bytes
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