|
|
|
@ -408,65 +408,6 @@ class LazyAdminSite(UnfoldAdminSite): |
|
|
|
project_admin_site = LazyAdminSite(FormulaAdminSite, 'imam_javad_admin') |
|
|
|
dovoodi_admin_site = LazyAdminSite(DovoodiAdminSite, 'dovoodi_admin') |
|
|
|
|
|
|
|
# from django.contrib.admin.sites import AdminSite |
|
|
|
|
|
|
|
# class LazyAdminSite(AdminSite): |
|
|
|
# """Lazy wrapper that initializes the real admin site on first access""" |
|
|
|
|
|
|
|
# def __init__(self, site_class, name): |
|
|
|
# # Don't call super().__init__() - avoid app registry checks at import time |
|
|
|
# self._site_class = site_class |
|
|
|
# self._name = name |
|
|
|
# self._instance = None |
|
|
|
|
|
|
|
# def _get_instance(self): |
|
|
|
# """Initialize the real site on first access (after Django is ready)""" |
|
|
|
# if self._instance is None: |
|
|
|
# self._instance = self._site_class(name=self._name) |
|
|
|
# return self._instance |
|
|
|
|
|
|
|
# def __getattr__(self, name): |
|
|
|
# """Delegate all attribute access to the real instance""" |
|
|
|
# if name.startswith('_'): |
|
|
|
# raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") |
|
|
|
# return getattr(self._get_instance(), name) |
|
|
|
|
|
|
|
# @property |
|
|
|
# def urls(self): |
|
|
|
# """Required for Django URL routing""" |
|
|
|
# return self._get_instance().urls |
|
|
|
|
|
|
|
# @property |
|
|
|
# def media(self): |
|
|
|
# """Expose the media from the real admin instance""" |
|
|
|
# return self._get_instance().media |
|
|
|
|
|
|
|
# @property |
|
|
|
# def form_class(self): |
|
|
|
# """Expose form class""" |
|
|
|
# return self._get_instance().form_class |
|
|
|
|
|
|
|
# def has_permission(self, request): |
|
|
|
# """Check if user has admin permission""" |
|
|
|
# return self._get_instance().has_permission(request) |
|
|
|
|
|
|
|
# def each_context(self, request): |
|
|
|
# """Return context for admin templates""" |
|
|
|
# return self._get_instance().each_context(request) |
|
|
|
|
|
|
|
# def get_urls(self): |
|
|
|
# """Get admin URLs""" |
|
|
|
# return self._get_instance().get_urls() |
|
|
|
|
|
|
|
# def register(self, model, admin_class=None, **options): |
|
|
|
# """Register a model with the admin site""" |
|
|
|
# return self._get_instance().register(model, admin_class, **options) |
|
|
|
|
|
|
|
|
|
|
|
# # Create lazy instances (NO initialization at import time!) |
|
|
|
# project_admin_site = LazyAdminSite(FormulaAdminSite, 'imam_javad_admin') |
|
|
|
# dovoodi_admin_site = LazyAdminSite(DovoodiAdminSite, 'dovoodi_admin') |
|
|
|
|
|
|
|
# Function to replace placeholders with real instances when Django is ready |
|
|
|
def replace_placeholders_with_real_sites(): |
|
|
|
global project_admin_site, dovoodi_admin_site |
|
|
|
|