Skip to content

Session views

backend.session.views#

next_round(request, session_id) #

Fall back to continue a block is case next_round data is missing This data is normally provided in: result()

Source code in backend/session/views.py
def next_round(request, session_id):
    """
    Fall back to continue a block is case next_round data is missing
    This data is normally provided in: result()
    """
    # Current participant
    participant = get_participant(request)

    session = get_object_or_404(Session, pk=session_id, participant__id=participant.id)

    # Get next round for given session
    actions = serialize_actions(session.block_rules().next_round(session))

    if not isinstance(actions, list):
        if actions.get("redirect"):
            return redirect(actions.get("redirect"))
        actions = [actions]

    return JsonResponse({"next_round": actions}, json_dumps_params={"indent": 4})