from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Consent(Page): def is_displayed(self): return self.round_number==1 timeout_seconds = 15 class Introduction(Page): timeout_seconds = 20 def is_displayed(self): return self.round_number==1 class Decide(Page): form_model = 'player' form_fields = ['price'] timeout_seconds = 15 timeout_submission = {'price': 100} class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class NormalWaitPage(WaitPage): group_by_arrival_time = True def is_displayed(self): return self.round_number == 1 class Info(Page): form_model = 'player' form_fields = ['age', 'sex', 'edu'] def is_displayed(self): return self.round_number==1 timeout_seconds = 30 class Results(Page): def vars_for_template(self): return { 'total_payoff': sum([p.payoff for p in self.player.in_all_rounds()]) } timeout_seconds = 5 class Final(Page): def is_displayed(self): return self.round_number == 20 def vars_for_template(self): return { 'total_payoff': sum([p.payoff for p in self.player.in_all_rounds()]) } page_sequence = [ NormalWaitPage, Consent, Info, Introduction, Decide, ResultsWaitPage, Results, Final, ]