Bugfix init: move Database access from checks into post-migate signal

pull/10/head
JensDiemer 2020-10-25 16:20:00 +01:00
rodzic aedf006556
commit c8124e9fc2
3 zmienionych plików z 17 dodań i 25 usunięć

Wyświetl plik

@ -16,3 +16,4 @@ class InventoryConfig(AppConfig):
def ready(self):
import inventory.checks # noqa
import inventory.signals # noqa

Wyświetl plik

@ -1,8 +1,6 @@
from pathlib import Path
from django.core.checks import Error, Warning, register
from inventory.permissions import get_or_create_normal_user_group, setup_normal_user_permissions
from django.core.checks import Error, register
@register()
@ -17,25 +15,3 @@ def inventory_checks(app_configs, **kwargs):
)
)
return errors
@register()
def inventory_user_groups(app_configs, **kwargs):
"""
Setup PyInventory user groups
"""
warnings = []
normal_user_group, created = get_or_create_normal_user_group()
if created:
warnings.append(
Warning(f'User group {normal_user_group} created')
)
updated = setup_normal_user_permissions(normal_user_group)
if updated:
warnings.append(
Warning(f'Update permissions for {normal_user_group}')
)
return warnings

Wyświetl plik

@ -0,0 +1,15 @@
from django.db.models.signals import post_migrate
from django.dispatch import receiver
from inventory.permissions import get_or_create_normal_user_group, setup_normal_user_permissions
@receiver(post_migrate)
def post_migrate_callback(sender, **kwargs):
normal_user_group, created = get_or_create_normal_user_group()
if created:
print(f'User group {normal_user_group} created')
updated = setup_normal_user_permissions(normal_user_group)
if updated:
print(f'Update permissions for {normal_user_group}')