Files
python-tdd/src/core/context_processors.py

30 lines
927 B
Python
Raw Normal View History

def user_palette(request):
if request.user.is_authenticated:
return {"user_palette": request.user.palette}
return {"user_palette": "palette-default"}
def navbar_context(request):
if not request.user.is_authenticated:
return {}
from django.db.models import Max, Q
from django.urls import reverse
from apps.epic.models import Room
recent_room = (
Room.objects.filter(
Q(owner=request.user) | Q(gate_slots__gamer=request.user)
)
.annotate(last_event=Max("events__timestamp"))
.filter(last_event__isnull=False)
.order_by("-last_event")
.distinct()
.first()
)
if recent_room is None:
return {}
if recent_room.table_status:
url = reverse("epic:room", args=[recent_room.id])
else:
url = reverse("epic:gatekeeper", args=[recent_room.id])
return {"navbar_recent_room_url": url}