from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class SimpleWaitPage(WaitPage): pass class Request(Page): form_model = 'player' form_fields = ['request'] timeout_seconds = 120 def before_next_page(self): if self.timeout_happened: self.player.request = 0 class Sure(Page): form_model = 'player' form_fields = ['final_request'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class Results(Page): def vars_for_template(self): return dict( other_player_request = self.player.other_player().final_request, total_payoff = sum([p.payoff for p in self.player.in_all_rounds()]), ) page_sequence = [ Introduction, SimpleWaitPage, Request, Sure, ResultsWaitPage, Results, ]