diff options
| author | Douwe Maan <douwe@gitlab.com> | 2018-06-12 08:08:42 +0000 |
|---|---|---|
| committer | Douwe Maan <douwe@gitlab.com> | 2018-06-12 08:08:42 +0000 |
| commit | e0de57a836c0661bcac1f5f72a87d9dd9c115c9c (patch) | |
| tree | 7bc1638eded832dd8e69664d09783477836a6329 /app | |
| parent | 8e7ebd537bcc406756fe059ac89d51bbefe40d6b (diff) | |
| parent | 698515313fe38fb3f85fdeec1efa15e2c8b54cfd (diff) | |
| download | gitlab-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.rb | 12 |
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? |
