Commit 39ff8099 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'tc-make-user-master-project-by-admin' into 'master'

Make namespace owner master of project upon creation

Closes #29446

See merge request !10910
parents 19a3b49f 69f584ed
...@@ -97,7 +97,8 @@ module Projects ...@@ -97,7 +97,8 @@ module Projects
system_hook_service.execute_hooks_for(@project, :create) system_hook_service.execute_hooks_for(@project, :create)
unless @project.group || @project.gitlab_project_import? unless @project.group || @project.gitlab_project_import?
@project.team << [current_user, :master, current_user] owners = [current_user, @project.namespace.owner].compact.uniq
@project.add_master(owners, current_user: current_user)
end end
@project.group&.refresh_members_authorized_projects @project.group&.refresh_members_authorized_projects
......
---
title: Ensure namespace owner is Master of project upon creation
merge_request: 10910
author:
...@@ -27,6 +27,22 @@ describe Projects::CreateService, '#execute', services: true do ...@@ -27,6 +27,22 @@ describe Projects::CreateService, '#execute', services: true do
end end
end end
context "admin creates project with other user's namespace_id" do
it 'sets the correct permissions' do
admin = create(:admin)
opts = {
name: 'GitLab',
namespace_id: user.namespace.id
}
project = create_project(admin, opts)
expect(project).to be_persisted
expect(project.owner).to eq(user)
expect(project.team.masters).to include(user, admin)
expect(project.namespace).to eq(user.namespace)
end
end
context 'group namespace' do context 'group namespace' do
let(:group) do let(:group) do
create(:group).tap do |group| create(:group).tap do |group|
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment