diff --git a/grandlyon/scripts/copy-roles.py b/grandlyon/scripts/copy-roles.py index aa3e0b4..d9fd2c7 100644 --- a/grandlyon/scripts/copy-roles.py +++ b/grandlyon/scripts/copy-roles.py @@ -20,7 +20,10 @@ for role in Role.objects.filter(ou=ou_src): if role.slug.startswith('_'): continue new_name = role.name.replace(name_src, name_dst).replace(name_src.lower(), name_dst.lower()) - new_role, created = Role.objects.get_or_create(ou=ou, name=new_name) + kwargs = {'ou': ou, 'name': new_name} + if name_dst.lower() not in new_name.lower(): + kwargs['slug'] = role.slug + new_role, created = Role.objects.get_or_create(**kwargs) mapping[role.uuid] = {name_dst: new_role.uuid} if new_name == 'Agent': agent_role = new_role