new migrations in apps.epic & apps.lyric apps; new Token fields of latter articulate upon Room model helper fns of former; new FTs, ITs & UTs capture new behavior accordingly; new template partial content in templates/apps/gameboard

This commit is contained in:
Disco DeDisco
2026-03-13 17:31:52 -04:00
parent 5773462b4c
commit 6a42b91420
12 changed files with 239 additions and 9 deletions

View File

@@ -1,7 +1,8 @@
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, render
from apps.epic.models import Room
from apps.epic.models import Room, debit_token
from apps.lyric.models import Token
@login_required
@@ -20,3 +21,17 @@ def gatekeeper(request, room_id):
'room': room,
'slots': slots,
})
@login_required
def drop_token(request, room_id, slot_number):
if request.method == "POST":
room = Room.objects.get(id=room_id)
slot = room.gate_slots.get(slot_number=slot_number)
token = (
request.user.tokens.filter(token_type=Token.COIN).first()
or request.user.tokens.filter(token_type=Token.FREE).first()
or request.user.tokens.filter(token_type=Token.TITHE).first()
)
if token:
debit_token(request.user, slot, token)
return redirect("epic:gatekeeper", room_id=room_id)