diff --git a/config/urls.py b/config/urls.py index 8b6c43b..4c69d44 100644 --- a/config/urls.py +++ b/config/urls.py @@ -96,6 +96,7 @@ api_patterns = [ # Base URL patterns (common to all domains) # These patterns are shared by both Imam Javad and Dovoodi sites urlpatterns = [ + path("admin/", HomeView.as_view(), name="home"), # Redirect to appropriate admin based on domain path("i18n/", include("django.conf.urls.i18n")), path('api/', include(api_patterns)), path('oneapi-translation/', oneapi_translate), diff --git a/utils/admin.py b/utils/admin.py index d09141e..5990e82 100644 --- a/utils/admin.py +++ b/utils/admin.py @@ -130,7 +130,7 @@ class FormulaAdminSite(UnfoldAdminSite): }, { "title": _("Dovoodi Admin"), - "link": "https://dovodi.newhorizonco.uk/en/dovoodi/admin/", + "link": "https://dovodi.newhorizonco.uk/admin/", "icon": "diamond", } ] @@ -236,7 +236,7 @@ class DovoodiAdminSite(UnfoldAdminSite): }, { "title": _("Imam Javad Admin"), - "link": "https://imamjavad.newhorizonco.uk/en/imam-javad/admin/", + "link": "https://imamjavad.newhorizonco.uk/admin/", "icon": "diamond", } ] @@ -464,20 +464,17 @@ def replace_placeholders_with_real_sites(): # This ensures proper CSS loading for admin templates class HomeView(RedirectView): + """ + Redirects /admin/ to the language-prefixed admin URL. + The domain-based routing middleware will handle which admin site to use. + """ def get_redirect_url(self, *args, **kwargs): - host = self.request.get_host() - # دریافت زبان فعلی (پیش‌فرض: en) language = get_language() or 'en' - # دامنه‌های داوودی - dovoodi_domains = ['dovodi.newhorizonco.uk', 'dovoodi.newhorizonco.uk'] - - # تصمیم‌گیری بر اساس دامنه و برگرداندن URL با prefix زبانی - if any(domain in host for domain in dovoodi_domains): - return f'/{language}/dovoodi/admin/' - else: - return f'/{language}/imam-javad/admin/' + # Now we simply redirect to /language/admin/ + # The SiteMiddleware will route to the correct admin based on domain + return f'/{language}/admin/' # --------------------------------------------------------- # 4. Dummy Data for Dashboard Charts