From 02500cdf34081fd44a7180dd37ac33fd4dcb7379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 21 Nov 2022 14:48:47 +0100 Subject: [PATCH] grandlyon: keep role slug if collectivity name is not part of name --- grandlyon/scripts/copy-roles.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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