merge_requests_helper.rb 1015 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