core: add general admin.py loader, remove individual files
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user