35 lines
1.0 KiB
Python
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
|
|
}
|