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 | 14 | end |
| 15 | 15 | not_found! |
| 16 | 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 | 25 | end |
| 18 | 26 | |
| 19 | 27 | # List merge requests |
| ... | ... | @@ -69,13 +77,16 @@ module API |
| 69 | 77 | merge_request.author = current_user |
| 70 | 78 | merge_request.source_project = user_project |
| 71 | 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 | 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 | 88 | end |
| 89 | + | |
| 79 | 90 | if merge_request.save |
| 80 | 91 | merge_request.reload_code |
| 81 | 92 | present merge_request, with: Entities::MergeRequest | ... | ... |
lib/gitlab/satellite/satellite.rb