25 lines
		
	
	
		
			697 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			697 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)
 |