aboutsummaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/django_application/files/django_add_permission_to_group.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/modules/django_application/files/django_add_permission_to_group.py b/modules/django_application/files/django_add_permission_to_group.py
index 4e5714f3..5c3c915f 100644
--- a/modules/django_application/files/django_add_permission_to_group.py
+++ b/modules/django_application/files/django_add_permission_to_group.py
@@ -9,12 +9,16 @@ if len(sys.argv) > 3:
app = sys.argv[3]
from django.contrib.auth.models import Group, Permission
-g = Group.objects.get(name=group_name)
+group = Group.objects.get(name=group_name)
-p = Permission.objects.filter(codename=permission)
+permissions = Permission.objects.filter(codename=permission)
if app:
- p = p.filter(content_type__app_label__exact=app)
-p = p[0]
+ permissions = permissions.filter(content_type__app_label__exact=app)
-g.permissions.add(p)
-g.save()
+if len(permissions) != 1:
+ print "Error, result not unique, please give the application among :"
+ print ' '.join([p.content_type.app_label for p in permissions])
+ sys.exit(1)
+
+group.permissions.add(permissions[0])
+group.save()