from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Consent(Page): form_model = 'player' def is_displayed(self): return self.round_number == 1 class Introduction(Page): form_model = 'player' timeout_seconds = 100 def is_displayed(self): return self.round_number == 1 class Decision(Page): form_model = 'player' form_fields = ['decision'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class Results(Page): form_model = 'player' def vars_for_template(self): me = self.player opponent = me.other_player() return dict( my_decision=me.decision, opponent_decision=opponent.decision, same_choice=me.decision == opponent.decision, ) class Endowment(WaitPage): def is_displayed(self): return self.round_number == 1 def after_all_players_arrive(self): self.group.endowment() class RoundFive(Page): form_model = 'player' form_fields = ['help'] def is_displayed(self): return self.player.id_in_group == 2 and self.round_number == 5 class HelpCalculationWaitPage(WaitPage): def is_displayed(self): return self.round_number == 5 def after_all_players_arrive(self): self.group.help_calculation() class SkipApp(Page): form_model = 'player' def is_displayed(self): return self.round_number == 5 and self.group.skipapp == True def app_after_this_page(self, upcoming_apps): return upcoming_apps[-1] page_sequence = [Consent, Introduction, Decision, ResultsWaitPage, Results, Endowment, RoundFive, HelpCalculationWaitPage, SkipApp]