summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-27 18:29:16 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-27 18:29:16 +0200
commit60dbd89337cccb7c4b18a5519fdb5f3dcdb143c9 (patch)
tree5621f4a010ffb8b87af50b2b368cfc184c4cdb6a
parent250e7bbe4ecb5b9b349d7be344cc29b8e5b3e3a6 (diff)
downloadIshtar-60dbd89337cccb7c4b18a5519fdb5f3dcdb143c9.tar.bz2
Ishtar-60dbd89337cccb7c4b18a5519fdb5f3dcdb143c9.zip
Fix regeneration of permissions command
-rw-r--r--ishtar_common/management/commands/regenerate_permissions.py18
1 files changed, 6 insertions, 12 deletions
diff --git a/ishtar_common/management/commands/regenerate_permissions.py b/ishtar_common/management/commands/regenerate_permissions.py
index 599e64d64..9cd8b2277 100644
--- a/ishtar_common/management/commands/regenerate_permissions.py
+++ b/ishtar_common/management/commands/regenerate_permissions.py
@@ -19,9 +19,9 @@
from django.core.management.base import BaseCommand
-from django.contrib.contenttypes.models import ContentType
-from django.contrib.auth.models import Permission
+from django.contrib.auth.management import create_permissions
+from django.apps import apps
class Command(BaseCommand):
@@ -29,13 +29,7 @@ class Command(BaseCommand):
help = 'Regenerate permissions'
def handle(self, *args, **options):
- for ct in ContentType.objects.all():
- model = ct.model_class()
- if not model:
- continue
- for perm_slug, perm_label in model._meta.permissions:
- perm, c = Permission.objects.get_or_create(
- content_type=ct, codename=perm_slug,
- defaults={'name': perm_label})
- if c:
- print('Permission {} created.'.format(perm_label))
+ for app in ['ishtar_common', 'archaeological_operations',
+ 'archaeological_context_records',
+ 'archaeological_finds', 'archaeological_warehouse']:
+ create_permissions(apps.get_app_config(app))