from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Instructions(Page): def is_displayed(self): return self.subsession.round_number == 1 class Contribute(Page): def is_displayed(self): return self.subsession.round_number <= self.session.vars['random_max_rounds'] timeout_seconds = 10 def before_next_page(self): if self.timeout_happened: self.player.contribute = 0 form_model = 'player' form_fields = ['contribute'] class CWait(WaitPage): def is_displayed(self): return self.subsession.round_number <= self.session.vars['random_max_rounds'] template_name = 'public_goods_advanced/CWait.html' def after_all_players_arrive(self): self.group.set_payoffs() class Results(Page): def is_displayed(self): return self.subsession.round_number <= self.session.vars['random_max_rounds'] class History(Page): def is_displayed(self): return self.subsession.round_number <= self.session.vars['random_max_rounds'] def vars_for_template(self): return dict( player_in_all_rounds_rev=reversed(self.player.in_all_rounds()), ) page_sequence = [Contribute, CWait, Results, History]