covered some test lacunae; gatekeeper now waits for +6 gamers to commit tokens to unblock game room

This commit is contained in:
Disco DeDisco
2026-03-13 22:51:42 -04:00
parent e0d1f51bf1
commit dddffd22d5
11 changed files with 121 additions and 8 deletions

View File

@@ -1,4 +1,5 @@
from django.contrib.auth.decorators import login_required
from django.http import HttpResponse
from django.shortcuts import redirect, render
from apps.epic.models import Room, RoomInvite, debit_token
@@ -12,7 +13,7 @@ def create_room(request):
if name:
room = Room.objects.create(name=name, owner=request.user)
return redirect("epic:gatekeeper", room_id=room.id)
return redirect("gameboard:index")
return redirect("/gameboard/")
def gatekeeper(request, room_id):
room = Room.objects.get(id=room_id)
@@ -54,3 +55,18 @@ def invite_gamer(request, room_id):
defaults={"status": RoomInvite.PENDING}
)
return redirect("epic:gatekeeper", room_id=room_id)
def gate_status(request, room_id):
room = Room.objects.get(id=room_id)
if room.gate_status == Room.OPEN:
return HttpResponse("")
slots = room.gate_slots.order_by("slot_number")
user_has_slot = (
request.user.is_authenticated
and slots.filter(gamer=request.user).exists()
)
return render(request, "apps/gameboard/_partials/_gatekeeper.html", {
"room": room,
"slots": slots,
"user_has_slot": user_has_slot,
})