summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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))