25 lines
701 B
Python
25 lines
701 B
Python
"""passbook core admin"""
|
|
|
|
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
|
|
|
|
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)
|