summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-06-12 08:08:42 +0000
committerDouwe Maan <douwe@gitlab.com>2018-06-12 08:08:42 +0000
commite0de57a836c0661bcac1f5f72a87d9dd9c115c9c (patch)
tree7bc1638eded832dd8e69664d09783477836a6329 /app
parent8e7ebd537bcc406756fe059ac89d51bbefe40d6b (diff)
parent698515313fe38fb3f85fdeec1efa15e2c8b54cfd (diff)
downloadgitlab-ce-e0de57a836c0661bcac1f5f72a87d9dd9c115c9c.tar.gz
Merge branch 'bvl-fix-maintainer-push-rejected' into 'master'
Fixes rejected pushes from maintainers Closes #46337 See merge request gitlab-org/gitlab-ce!18968
Diffstat (limited to 'app')
-rw-r--r--app/models/project.rb12
1 files changed, 8 insertions, 4 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index fe1e0c598d2..f0d8c40bfea 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -2140,10 +2140,14 @@ class Project < ActiveRecord::Base
check_access = -> do
next false if empty_repo?
- merge_request = source_of_merge_requests.opened
- .where(allow_collaboration: true)
- .find_by(source_branch: branch_name)
- merge_request&.can_be_merged_by?(user)
+ merge_requests = source_of_merge_requests.opened
+ .where(allow_collaboration: true)
+
+ if branch_name
+ merge_requests.find_by(source_branch: branch_name)&.can_be_merged_by?(user)
+ else
+ merge_requests.any? { |merge_request| merge_request.can_be_merged_by?(user) }
+ end
end
if RequestStore.active?