Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/project.rb1
-rw-r--r--app/models/project_team.rb6
2 files changed, 6 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 68196f0a757..5989584ce43 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -3456,6 +3456,7 @@ class Project < ApplicationRecord
# Issue for N+1: https://gitlab.com/gitlab-org/gitlab-foss/issues/49322
Gitlab::GitalyClient.allow_n_plus_1_calls do
merge_requests_allowing_collaboration(branch_name).any? do |merge_request|
+ merge_request.author.can?(:push_code, self) &&
merge_request.can_be_merged_by?(user, skip_collaboration_check: true)
end
end
diff --git a/app/models/project_team.rb b/app/models/project_team.rb
index 34754f4fc95..38521ae6090 100644
--- a/app/models/project_team.rb
+++ b/app/models/project_team.rb
@@ -121,7 +121,7 @@ class ProjectTeam
def import(source_project, current_user)
target_project = project
- source_members = source_project.project_members.to_a
+ source_members = source_members_for_import(source_project)
target_user_ids = target_project.project_members.pluck_user_ids
importer_access_level = max_member_access(current_user.id)
@@ -242,6 +242,10 @@ class ProjectTeam
def member_user_ids
Member.on_project_and_ancestors(project).select(:user_id)
end
+
+ def source_members_for_import(source_project)
+ source_project.project_members.to_a
+ end
end
ProjectTeam.prepend_mod_with('ProjectTeam')