feat: Ensure correct groups are creeated with permissions

This commit is contained in:
2024-04-12 22:23:49 +02:00
parent 1a2878330e
commit 4767fb4e76
4 changed files with 49 additions and 4 deletions

View File

@@ -0,0 +1,29 @@
def _get_perms(permission_name_list):
from django.contrib.auth.models import Permission
permissions = []
for permission_name in permission_name_list:
print(f"{permission_name}")
permission = Permission.objects.get(codename=permission_name)
permissions.append(permission)
return permissions
def ensure_groups(sender, **kwargs):
from django.contrib.auth.models import Group
member_permissions = []
coordinator_permissions = ["create_active_adoption_notice"]
moderator_permissions = coordinator_permissions + ["view_report", "add_moderationaction", "change_user"]
admin_permissions = moderator_permissions
admins, created = Group.objects.get_or_create(name="Admins")
admins.permissions.set(_get_perms(admin_permissions))
moderators, created = Group.objects.get_or_create(name="Moderators")
moderators.permissions.set(_get_perms(moderator_permissions))
coordinators, created = Group.objects.get_or_create(name="Coordinators")
coordinators.permissions.set(_get_perms(coordinator_permissions))
members, created = Group.objects.get_or_create(name="Members")
members.permissions.set(_get_perms(member_permissions))