Fix importers not assigning a new default group
The Bitbucket Server as well as other importers pass in a group name to be created (assuming the user has permission) and attempt to dedupe that with an existing group. However, the group *name* is not guaranteed to be unique, but the *path* is. Closes #50110
This commit is contained in:
parent
472f2d5666
commit
965f9113b0
|
@ -55,7 +55,7 @@ module NamespacesHelper
|
|||
# group if one exists by that name to prevent duplicates.
|
||||
def dedup_extra_group(extra_group)
|
||||
unless extra_group.persisted?
|
||||
existing_group = Group.find_by(name: extra_group.name)
|
||||
existing_group = Group.find_by(path: extra_group.path)
|
||||
extra_group = existing_group if existing_group&.persisted?
|
||||
end
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Fix importers not assigning a new default group
|
||||
merge_request: 21456
|
||||
author:
|
||||
type: fixed
|
|
@ -50,9 +50,12 @@ describe NamespacesHelper do
|
|||
end
|
||||
|
||||
it 'selects the new group by default' do
|
||||
# Ensure we don't select a group with the same name
|
||||
create(:group, name: 'new-group', path: 'another-path')
|
||||
|
||||
allow(helper).to receive(:current_user).and_return(user)
|
||||
|
||||
options = helper.namespaces_options(:extra_group, display_path: true, extra_group: build(:group, name: 'new-group'))
|
||||
options = helper.namespaces_options(:extra_group, display_path: true, extra_group: build(:group, name: 'new-group', path: 'new-group'))
|
||||
|
||||
expect(options).to include(user_group.name)
|
||||
expect(options).not_to include(admin_group.name)
|
||||
|
|
Loading…
Reference in New Issue