core: add general admin.py loader, remove individual files

This commit is contained in:
Jens Langhammer
2020-05-07 00:05:10 +02:00
parent fff05e35ac
commit 80d90b91e8
22 changed files with 24 additions and 118 deletions

View File

@ -1,5 +1,24 @@
"""passbook core model admin"""
"""passbook core admin"""
from passbook.lib.admin import admin_autoregister
from django.apps import AppConfig, apps
from django.contrib import admin
from django.contrib.admin.sites import AlreadyRegistered
from guardian.admin import GuardedModelAdmin
from structlog import get_logger
admin_autoregister("passbook_core")
LOGGER = get_logger()
def admin_autoregister(app: AppConfig):
"""Automatically register all models from app"""
for model in app.get_models():
try:
admin.site.register(model, GuardedModelAdmin)
except AlreadyRegistered:
pass
for app in apps.get_app_configs():
if app.label.startswith("passbook_"):
LOGGER.debug("Registering application for dj-admin", app=app.label)
admin_autoregister(app)