38086-vm/core/context_processors.py
2026-02-10 08:35:25 +00:00

35 lines
1.0 KiB
Python

from .models import SystemSetting
from django.db.utils import OperationalError
from django.core.management import call_command
import os
import time
import logging
logger = logging.getLogger(__name__)
STARTUP_TIMESTAMP = int(time.time())
def project_context(request):
return {
"project_description": os.getenv("PROJECT_DESCRIPTION", ""),
"project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
"deployment_timestamp": STARTUP_TIMESTAMP,
}
def global_settings(request):
settings = None
try:
settings = SystemSetting.objects.first()
if not settings:
settings = SystemSetting.objects.create()
except Exception:
# If DB is broken (OperationalError, etc.), just return None.
# Do not try to fix it here to avoid infinite loops or crashes during template rendering.
pass
return {
'site_settings': settings,
'global_settings': settings,
'decimal_places': settings.decimal_places if settings else 3
}