from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class Subinstruction2and4(Page): def is_displayed(self): return self.round_number == 1 and self.player.treatment== 2 or self.round_number == 1 and self.player.treatment== 4 form_model = 'player' form_fields = ['plan'] class Investment1(Page): def is_displayed(self): return self.player.treatment == 1 form_model = 'player' form_fields = ['improvement_investment'] def vars_for_template(self): self.group.set_scores() return dict(temp=self.player.expense0) class Investment2(Page): def is_displayed(self): return self.player.treatment == 2 form_model = 'player' form_fields = ['improvement_investment'] def vars_for_template(self): self.group.set_scores() return dict(temp=self.player.expense0) class Investment3(Page): def is_displayed(self): return self.player.treatment == 3 form_model = 'player' form_fields = ['improvement_investment'] def vars_for_template(self): self.group.set_scores() return dict(temp= self.player.expense0) class Investment4(Page): def is_displayed(self): return self.player.treatment == 4 form_model = 'player' form_fields = ['improvement_investment'] def vars_for_template(self): self.group.set_scores() return dict(temp = self.player.expense0) class ResultsFailure(Page): def is_displayed(self): return self.player.improvement_investment == 0 and self.round_number != self.subsession.success def vars_for_template(self): self.player.balance_of_payments() class ResultsSuccess(Page): def is_displayed(self): return self.round_number == self.subsession.success def vars_for_template(self): self.player.balance_of_payments() player_in_all_rounds = self.player.in_all_rounds() def app_after_this_page(player, upcoming_apps): return upcoming_apps[0] class StopInvesting(Page): def is_displayed(self): return self.player.improvement_investment == 1 def vars_for_template(self): self.player.balance_of_payments() player_in_all_rounds = self.player.in_all_rounds() def app_after_this_page(player, upcoming_apps): return upcoming_apps[0] page_sequence = [Introduction, Subinstruction2and4, Investment1, Investment2, Investment3, Investment4, ResultsFailure, ResultsSuccess, StopInvesting]