Commit fae3f466151ac8ee9f9e0e496669be8a9e649120
1 parent
539c70c7
Exists in
master
and in
4 other branches
Refactor merge api create
-Made the api method a little more readable -removed some missed extra newline's Change-Id: Ic38baafc813aaeda0a8b283f39916182c8ec37d5
Showing
3 changed files
with
16 additions
and
7 deletions
Show diff stats
lib/api/merge_requests.rb
@@ -14,6 +14,14 @@ module API | @@ -14,6 +14,14 @@ module API | ||
14 | end | 14 | end |
15 | not_found! | 15 | not_found! |
16 | end | 16 | end |
17 | + | ||
18 | + def not_fork?(target_project_id, user_project) | ||
19 | + target_project_id.nil? || target_project_id == user_project.id.to_s | ||
20 | + end | ||
21 | + | ||
22 | + def target_matches_fork(target_project_id,user_project) | ||
23 | + user_project.forked? && user_project.forked_from_project.id.to_s == target_project_id | ||
24 | + end | ||
17 | end | 25 | end |
18 | 26 | ||
19 | # List merge requests | 27 | # List merge requests |
@@ -69,13 +77,16 @@ module API | @@ -69,13 +77,16 @@ module API | ||
69 | merge_request.author = current_user | 77 | merge_request.author = current_user |
70 | merge_request.source_project = user_project | 78 | merge_request.source_project = user_project |
71 | target_project_id = attrs[:target_project_id] | 79 | target_project_id = attrs[:target_project_id] |
72 | - if !target_project_id.nil? && user_project.forked? && user_project.forked_from_project.id.to_s == target_project_id | ||
73 | - merge_request.target_project = Project.find_by_id(attrs[:target_project_id]) | ||
74 | - elsif target_project_id.nil? || target_project_id == user_project.id.to_s | 80 | + if not_fork?(target_project_id, user_project) |
75 | merge_request.target_project = user_project | 81 | merge_request.target_project = user_project |
76 | - elsif !target_project_id.nil? | ||
77 | - render_api_error!('(Bad Request) Specified target project that is not the source project, or the source fork of the project.', 400) | 82 | + else |
83 | + if target_matches_fork(target_project_id,user_project) | ||
84 | + merge_request.target_project = Project.find_by_id(attrs[:target_project_id]) | ||
85 | + else | ||
86 | + render_api_error!('(Bad Request) Specified target project that is not the source project, or the source fork of the project.', 400) | ||
87 | + end | ||
78 | end | 88 | end |
89 | + | ||
79 | if merge_request.save | 90 | if merge_request.save |
80 | merge_request.reload_code | 91 | merge_request.reload_code |
81 | present merge_request, with: Entities::MergeRequest | 92 | present merge_request, with: Entities::MergeRequest |
lib/gitlab/satellite/satellite.rb
@@ -130,7 +130,6 @@ module Gitlab | @@ -130,7 +130,6 @@ module Gitlab | ||
130 | repo.git.fetch(default_options, :origin) | 130 | repo.git.fetch(default_options, :origin) |
131 | end | 131 | end |
132 | 132 | ||
133 | - | ||
134 | def default_options(options = {}) | 133 | def default_options(options = {}) |
135 | {raise: true, timeout: true}.merge(options) | 134 | {raise: true, timeout: true}.merge(options) |
136 | end | 135 | end |
spec/models/merge_request_spec.rb
@@ -83,7 +83,6 @@ describe MergeRequest do | @@ -83,7 +83,6 @@ describe MergeRequest do | ||
83 | end | 83 | end |
84 | end | 84 | end |
85 | 85 | ||
86 | - | ||
87 | describe '#allow_source_branch_removal?' do | 86 | describe '#allow_source_branch_removal?' do |
88 | it 'should not allow removal when mr is a fork' do | 87 | it 'should not allow removal when mr is a fork' do |
89 | 88 |