32 lines
1014 B
Python
32 lines
1014 B
Python
|
|
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",
|
||
|
|
})
|