diff --git a/apps/account/middleware/admin_access.py b/apps/account/middleware/admin_access.py index 00d09dd..73c2817 100644 --- a/apps/account/middleware/admin_access.py +++ b/apps/account/middleware/admin_access.py @@ -5,20 +5,7 @@ from django.shortcuts import redirect from django.urls import reverse from django.contrib import messages from django.utils.translation import gettext_lazy as _ - - -def get_admin_namespace(request): - """ - Determine the admin namespace based on the request domain. - Returns the appropriate admin namespace for use in reverse() calls. - """ - host = request.get_host() - - # Check if the request is from Dovoodi domain - if 'dovodi' in host or 'dovoodi' in host: - return 'dovoodi_admin' - else: - return 'imam_javad_admin' +from config.middleware import get_admin_namespace class AdminAccessMiddleware: diff --git a/config/middleware/__init__.py b/config/middleware/__init__.py new file mode 100644 index 0000000..977b954 --- /dev/null +++ b/config/middleware/__init__.py @@ -0,0 +1,22 @@ +""" +Middleware utilities and helpers +""" + + +def get_admin_namespace(request): + """ + Determine the admin namespace based on the request domain. + Returns the appropriate admin namespace for use in reverse() calls. + + Usage: + from config.middleware import get_admin_namespace + admin_ns = get_admin_namespace(request) + url = reverse(f'{admin_ns}:model_changelist') + """ + host = request.get_host() + + # Check if the request is from Dovoodi domain + if 'dovodi' in host or 'dovoodi' in host: + return 'dovoodi_admin' + else: + return 'imam_javad_admin'