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/members/project_member.rb')
-rw-r--r--app/models/members/project_member.rb16
1 files changed, 14 insertions, 2 deletions
diff --git a/app/models/members/project_member.rb b/app/models/members/project_member.rb
index 995c26d7221..791cb6f0dff 100644
--- a/app/models/members/project_member.rb
+++ b/app/models/members/project_member.rb
@@ -44,7 +44,7 @@ class ProjectMember < Member
project_ids.each do |project_id|
project = Project.find(project_id)
- Members::Projects::BulkCreatorService.add_users( # rubocop:disable CodeReuse/ServiceClass
+ Members::Projects::CreatorService.add_users( # rubocop:disable CodeReuse/ServiceClass
project,
users,
access_level,
@@ -73,6 +73,16 @@ class ProjectMember < Member
truncate_teams [project.id]
end
+ # For those who get to see a modal with a role dropdown, here are the options presented
+ def permissible_access_level_roles(current_user, project)
+ # This method is a stopgap in preparation for https://gitlab.com/gitlab-org/gitlab/-/issues/364087
+ if Ability.allowed?(current_user, :manage_owners, project)
+ Gitlab::Access.options_with_owner
+ else
+ ProjectMember.access_level_roles
+ end
+ end
+
def access_level_roles
Gitlab::Access.options
end
@@ -158,7 +168,9 @@ class ProjectMember < Member
end
def after_accept_invite
- notification_service.accept_project_invite(self)
+ run_after_commit_or_now do
+ notification_service.accept_project_invite(self)
+ end
super
end