data_transfer: allow missing role slug (#51463)

This commit is contained in:
Valentin Deniaud 2021-03-11 09:44:49 +01:00
parent 961af9538e
commit 62b7fb4d60
2 changed files with 8 additions and 1 deletions

View File

@ -368,7 +368,7 @@ def import_site(json_d, import_context=None):
roles_ds = []
for role_d in json_d.get('roles', []):
# ignore internal roles
if role_d['slug'].startswith('_'):
if role_d.get('slug', '').startswith('_'):
continue
roles_ds.append(RoleDeserializer(role_d, import_context))

View File

@ -479,6 +479,13 @@ def test_import_roles_role_delete_orphans(db):
import_site({'roles': roles}, ImportContext(role_delete_orphans=True))
def test_roles_import_no_slug(db):
roles = [{'name': 'some role', 'description': 'some role description', 'ou': None}]
res = import_site({'roles': roles}, ImportContext())
role = Role.objects.get(name='some role')
assert role.slug == 'some-role'
def test_import_ou(db):
uuid = get_hex_uuid()
name = 'ou name'