-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.py
30 lines (22 loc) · 926 Bytes
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from django import setup
setup()
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from apps.constants import ALL_PERMISSIONS, PERMISSIONS_CONTENT_TYPE, GROUPS_PERMISSIONS
permissions = {}
for p_codename, p_name in ALL_PERMISSIONS.items():
app_label, model = PERMISSIONS_CONTENT_TYPE[p_codename]
content_type = ContentType.objects.get(app_label=app_label, model=model)
perm = Permission.objects.create(
name=p_name,
codename=p_codename,
content_type=content_type,
)
print(f'permission "{p_name}" created')
permissions[p_codename] = perm
for group, perms in GROUPS_PERMISSIONS.items():
_group = Group.objects.create(name=group)
print(f'group "{group}" created with permissions:')
for perm in perms:
print(f" {ALL_PERMISSIONS[perm]}")
_group.permissions.add(permissions[perm])