Commit a59fe739fe05bcdf0eed06f1aea276a1236c32d2
1 parent
977146f5
Exists in
master
and in
4 other branches
IMprove MR validation logic
Showing
1 changed file
with
4 additions
and
1 deletions
Show diff stats
app/models/merge_request.rb
@@ -92,7 +92,10 @@ class MergeRequest < ActiveRecord::Base | @@ -92,7 +92,10 @@ class MergeRequest < ActiveRecord::Base | ||
92 | errors.add :branch_conflict, "You can not use same branch for source and target branches" | 92 | errors.add :branch_conflict, "You can not use same branch for source and target branches" |
93 | end | 93 | end |
94 | 94 | ||
95 | - if self.project.merge_requests.where(source_branch: source_branch, target_branch: target_branch).opened.any? | 95 | + similar_mrs = self.project.merge_requests.where(source_branch: source_branch, target_branch: target_branch).opened |
96 | + similar_mrs = similar_mrs.where('id not in (?)', self.id) if self.id | ||
97 | + | ||
98 | + if similar_mrs.any? | ||
96 | errors.add :base, "There is already an open merge request for this branches" | 99 | errors.add :base, "There is already an open merge request for this branches" |
97 | end | 100 | end |
98 | end | 101 | end |