K356/k356/app/utils/extra_context.py
2024-09-26 23:59:03 +02:00

38 lines
990 B
Python

from django.conf import settings
from django.apps import apps
from users.models import UserSettings
from pathlib import Path
def extra_context(request):
if not request.user.is_anonymous:
user_settings, __ = UserSettings.objects.get_or_create(user=request.user)
else:
user_settings = None
components = []
for app in apps.get_app_configs():
p = Path(settings.BASE_DIR) / app.name / "templates/components/"
if p.exists():
for path in p.iterdir():
components.append(path.name)
return {
"user_settings": user_settings,
"templates": {
component: f"components/{component}/template.html"
for component in components
},
"components": {
component: {
"path": f"components/{component}/vue.js",
"flat_name": component.replace("-", "_").lower(),
}
for component in components
}
}