diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-11-17 18:53:56 +0100 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-11-17 18:53:56 +0100 |
commit | e945ec02804bb28dbd228d8002a159c8da0fcc38 (patch) | |
tree | 72600162a61e7990d6c62ce5af90f5e649cc1e86 /app/controllers/concerns | |
parent | 0b540a0fadf172277639910023fcf8b713ad35aa (diff) | |
download | gitlab-ce-e945ec02804bb28dbd228d8002a159c8da0fcc38.tar.gz |
Add "Start a new merge request" option to every commit form
Diffstat (limited to 'app/controllers/concerns')
-rw-r--r-- | app/controllers/concerns/creates_merge_request_for_commit.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/app/controllers/concerns/creates_merge_request_for_commit.rb b/app/controllers/concerns/creates_merge_request_for_commit.rb new file mode 100644 index 00000000000..c7527822158 --- /dev/null +++ b/app/controllers/concerns/creates_merge_request_for_commit.rb @@ -0,0 +1,28 @@ +module CreatesMergeRequestForCommit + extend ActiveSupport::Concern + + def new_merge_request_path + if @project.forked? + target_project = @project.forked_from_project || @project + target_branch = target_project.repository.root_ref + else + target_project = @project + target_branch = @ref + end + + new_namespace_project_merge_request_path( + @project.namespace, + @project, + merge_request: { + source_project_id: @project.id, + target_project_id: target_project.id, + source_branch: @new_branch, + target_branch: target_branch + } + ) + end + + def create_merge_request? + params[:create_merge_request] && @new_branch != @ref + end +end |