Files
python-tdd/src/apps/billboard/views.py

32 lines
1014 B
Python
Raw Normal View History

from django.contrib.auth.decorators import login_required
from django.db.models import Q
from django.shortcuts import render
from apps.drama.models import GameEvent
from apps.epic.models import GateSlot, Room, RoomInvite
@login_required(login_url="/")
def billboard(request):
my_rooms = Room.objects.filter(
Q(owner=request.user) |
Q(gate_slots__gamer=request.user) |
Q(invites__invitee_email=request.user.email, invites__status=RoomInvite.PENDING)
).distinct().order_by("-created_at")
return render(request, "apps/billboard/billboard.html", {
"my_rooms": my_rooms,
"page_class": "page-billboard",
})
@login_required(login_url="/")
def room_scroll(request, room_id):
room = Room.objects.get(id=room_id)
events = room.events.select_related("actor").all()
return render(request, "apps/billboard/room_scroll.html", {
"room": room,
"events": events,
"viewer": request.user,
"page_class": "page-billboard",
})