Source code for ferrosoft.apps.ferrobase.context_processors

"""Django template context processors for ferrobase."""
from django.conf import settings

from ferrosoft.apps.ferrobase.models import ColorThemeDiscovery


[docs] def ferrobase(request): """Inject ferrobase-wide variables into every Django template context. Args: request: The current HTTP request. Returns: dict: Context variables covering the active tenant, colour theme, contact email, map config, debug flag, login URL, and subscription plan URL. """ return { "FERROBASE_APP_META": getattr(request, "APP_META", None), "FERROBASE_CONTACT_EMAIL": getattr( settings, "FERROBASE_CONTACT_EMAIL", "noreply@localhost" ), "FERROBASE_EMAIL_FOOTER": getattr(settings, "EMAIL_FOOTER", []), "FERROBASE_CURRENT_TENANT": getattr(request, "current_tenant", None), "FERROBASE_LOGIN_URL": getattr(settings, "LOGIN_URL", None), "FERROBASE_HELP_BASE_URL": getattr(settings, "FERROBASE_HELP_BASE_URL", None), "FERROBASE_DEBUG": settings.DEBUG, "FERROBASE_MAP_CONFIG": getattr(settings, "FERROBASE_MAP_CONFIG", {}), "FERROBASE_COLOR_THEME": ColorThemeDiscovery.guess(request), "FERROBASE_COLOR_THEME_USER": ColorThemeDiscovery.user_theme(request), "FERROBASE_SUBSCRIPTION_PLAN_URL": getattr( settings, "FERROBASE_SUBSCRIPTION_PLAN_URL", None ), }