new _kit_bag_panel.html partial in core to allow user to manage equipped kit items from anywhere on site; #id_kit_btn moved from _footer.html partial directly into a base.html include; new trinket for superusers now incl. in apps.lyric.models; apps.gameboard.views handles this new type of PASS token; apps.epic.views allows payment with several different token types based on rarity & expiration hierarchy; kit bag and PASS functionality now handled in apps.dashboard.views; /kit-bag/ now pathed in .urls; styles abound; fully passing test suite (tho much work to be done, chiefly with stacking like coins in FEFO order)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
This commit is contained in:
@@ -78,7 +78,12 @@ def drop_token(request, room_id):
|
||||
return redirect("epic:gatekeeper", room_id=room_id)
|
||||
if room.gate_slots.filter(gamer=request.user, status=GateSlot.FILLED).exists():
|
||||
return redirect("epic:gatekeeper", room_id=room_id)
|
||||
if select_token(request.user) is None:
|
||||
token_id = request.POST.get("token_id")
|
||||
if token_id:
|
||||
token = request.user.tokens.filter(id=token_id).first()
|
||||
else:
|
||||
token = select_token(request.user)
|
||||
if token is None:
|
||||
return HttpResponse(status=402)
|
||||
slot = room.gate_slots.filter(
|
||||
status=GateSlot.EMPTY
|
||||
@@ -88,6 +93,7 @@ def drop_token(request, room_id):
|
||||
slot.status = GateSlot.RESERVED
|
||||
slot.reserved_at = timezone.now()
|
||||
slot.save()
|
||||
request.session["kit_token_id"] = str(token.id)
|
||||
return redirect("epic:gatekeeper", room_id=room_id)
|
||||
|
||||
|
||||
@@ -99,7 +105,12 @@ def confirm_token(request, room_id):
|
||||
gamer=request.user, status=GateSlot.RESERVED
|
||||
).first()
|
||||
if slot:
|
||||
token = select_token(request.user)
|
||||
token_id = request.session.pop("kit_token_id", None)
|
||||
token = None
|
||||
if token_id:
|
||||
token = request.user.tokens.filter(id=token_id).first()
|
||||
if not token:
|
||||
token = select_token(request.user)
|
||||
if token:
|
||||
debit_token(request.user, slot, token)
|
||||
return redirect("epic:gatekeeper", room_id=room_id)
|
||||
|
||||
Reference in New Issue
Block a user