from .models import * class Instructions(Page): form_model = 'player' def is_displayed(self): player = self.player return player.round_number == 1 class InstructionsWait(WaitPage): wait_for_all_groups = True def is_displayed(self): player = self.player return player.round_number == 1 class Decision(Page): form_model = 'player' form_fields = ['volunteer'] def vars_for_template(self): player = self.player return { 'player_in_previous_rounds': player.in_rounds(player.round_number-player.round+1,player.round_number-1), } class ResultsWait(WaitPage): wait_for_all_groups = True after_all_players_arrive = 'set_vals' class Results(Page): form_model = 'player' def vars_for_template(self): player = self.player return { 'player_in_all_rounds': player.in_rounds(player.round_number-player.round+1,player.round_number), } class EndOfMatch(Page): form_model = 'player' def is_displayed(self): player = self.player import math return player.round==math.ceil(Constants.new_match_periods[player.match-1]/Constants.block_size)*Constants.block_size def vars_for_template(self): player = self.player return { 'player_in_all_rounds': player.in_rounds(player.round_number-player.round+1,player.round_number), } page_sequence = [Instructions, InstructionsWait, Decision, ResultsWait, Results, EndOfMatch]