forked from DGNum/gestioCOF
Fix BDS group perms
This commit is contained in:
parent
1518f4c703
commit
198e456c22
3 changed files with 28 additions and 14 deletions
|
@ -0,0 +1 @@
|
|||
default_app_config = "bds.apps.BdsConfig"
|
26
bds/apps.py
26
bds/apps.py
|
@ -1,5 +1,31 @@
|
|||
from django import apps as global_apps
|
||||
from django.apps import AppConfig
|
||||
from django.db.models import Q
|
||||
from django.db.models.signals import post_migrate
|
||||
|
||||
|
||||
def bds_group_perms(app_config, apps=global_apps, **kwargs):
|
||||
try:
|
||||
Permission = apps.get_model("auth", "Permission")
|
||||
Group = apps.get_model("auth", "Group")
|
||||
|
||||
group = Group.objects.get(name="Burô du BDS")
|
||||
perms = Permission.objects.filter(
|
||||
Q(content_type__app_label="bds")
|
||||
| Q(content_type__app_label="auth") & Q(content_type__model="user")
|
||||
)
|
||||
group.permissions.set(perms)
|
||||
group.save()
|
||||
|
||||
except (LookupError, Group.DoesNotExist):
|
||||
return
|
||||
|
||||
|
||||
class BdsConfig(AppConfig):
|
||||
name = "bds"
|
||||
verbose_name = "Gestion des adhérent·e·s du BDS"
|
||||
|
||||
def ready(self):
|
||||
from . import signals # noqa
|
||||
|
||||
post_migrate.connect(bds_group_perms, sender=self)
|
||||
|
|
|
@ -1,24 +1,11 @@
|
|||
# Generated by Django 2.2 on 2019-07-17 14:56
|
||||
|
||||
from django.contrib.auth.management import create_permissions
|
||||
from django.db import migrations
|
||||
from django.db.models import Q
|
||||
|
||||
|
||||
def create_bds_buro_group(apps, schema_editor):
|
||||
for app_config in apps.get_app_configs():
|
||||
create_permissions(app_config, apps=apps, verbosity=0)
|
||||
|
||||
Group = apps.get_model("auth", "Group")
|
||||
Permission = apps.get_model("auth", "Permission")
|
||||
group, created = Group.objects.get_or_create(name="Burô du BDS")
|
||||
if created:
|
||||
perms = Permission.objects.filter(
|
||||
Q(content_type__app_label="bds")
|
||||
| Q(content_type__app_label="auth") & Q(content_type__model="user")
|
||||
)
|
||||
group.permissions.set(perms)
|
||||
group.save()
|
||||
Group.objects.get_or_create(name="Burô du BDS")
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
Loading…
Reference in a new issue