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.round_number == 1 def before_next_page(self): self.player.set_list_for_payoff() class RiskAversion(Page): form_model = 'player' form_fields = ['risk1', 'risk2', 'risk3', 'risk4', 'risk5', 'risk6', 'risk7', 'risk8', 'risk9', 'risk10'] def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['RiskAversion'] def before_next_page(self): if self.participant.vars['payoff_relevant_list'] == 'win': self.player.set_payoff() self.participant.vars['payoff_risk_aversion'] = self.player.payoffLists class LossAversion(Page): form_model = 'player' form_fields = ['loss1', 'loss2', 'loss3', 'loss4', 'loss5', 'loss6', 'loss7', 'loss8', 'loss9', 'loss10'] def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['LossAversion'] def before_next_page(self): if self.participant.vars['payoff_relevant_list'] == 'loss': self.player.set_payoff() self.participant.vars['payoff_risk_aversion'] = self.player.payoffLists class AmbiguityAversion(Page): form_model = 'player' form_fields = ['ambiguity1', 'ambiguity2', 'ambiguity3', 'ambiguity4', 'ambiguity5', 'ambiguity6', 'ambiguity7', 'ambiguity8', 'ambiguity9', 'ambiguity10'] def is_displayed(self): return self.round_number == 2 # return self.round_number == self.participant.vars['task_rounds']['AmbiguityAversion'] def before_next_page(self): if self.participant.vars['payoff_relevant_list'] == 'ambiguity': self.player.set_payoff() self.participant.vars['payoff_risk_aversion'] = self.player.payoffLists page_sequence = [ Instructions, RiskAversion, LossAversion, AmbiguityAversion ]