From 2a41e7ba17ec7aa560e8688e4465db2b4b8ad338 Mon Sep 17 00:00:00 2001 From: Maxi Schulz <maximilian.schulz@hs-hannover.de> Date: Mon, 26 Feb 2018 15:14:39 +0100 Subject: [PATCH] Custom group permission creation now safer --- .../management/commands/create_custom_groups.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ssoauth/management/commands/create_custom_groups.py b/ssoauth/management/commands/create_custom_groups.py index 75708d8..8c63f5c 100644 --- a/ssoauth/management/commands/create_custom_groups.py +++ b/ssoauth/management/commands/create_custom_groups.py @@ -21,11 +21,17 @@ def setup_groups(): if created: logger.info("Created group \"{}\"".format(group_name)) for perm_name in permission_names: - perm, created = Permission.objects.get_or_create( - codename=perm_name, - name=perm_name, - content_type_id=ContentType.objects.get_for_model(User).id - ) + try: + perm = Permission.objects.get( + codename=perm_name, + content_type_id=ContentType.objects.get_for_model(User).id + ) + except Permission.DoesNotExist: + perm = Permission.objects.create( + codename=perm_name, + name=perm_name, + content_type_id=ContentType.objects.get_for_model(User).id + ) if created: logger.info("Created permission \"{}\"".format(perm_name)) if perm not in group.permissions.all(): -- GitLab