from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class BonusQuestions(Page): form_model = 'player' form_fields = ['risk'] def vars_for_template(self) -> dict: return dict( bonus=Constants.bonus, risk=c(self.session.config['risk']) ) def before_next_page(self): self.player.set_bonus_risk() class BonusQuestions2(Page): form_model = 'player' form_fields = ['prob1', 'prob2', 'prob3'] def vars_for_template(self) -> dict: return dict( bonus=Constants.bonus, ) def before_next_page(self): self.player.set_bonus_prob() self.player.payoff = self.player.risk_payoff + self.player.prob_payoff self.participant.vars['questionnaire_risk'] = self.player.risk_payoff self.participant.vars['questionnaire_prob'] = self.player.prob_payoff class Demographics(Page): form_model = 'player' form_fields = ['age', 'gender', 'education', 'income', 'english', 'race', 'party_affiliation', 'state', 'dependent', 'old_dependent'] class Covid(Page): form_model = 'player' form_fields = ['tv', 'knowledge', 'info_state', 'info_fed', 'timely_state', 'timely_fed', 'timely_lockdown', 'appropriate_lockdown', 'long_lockdown', 'strict_lockdown', 'enforce_lockdown','describe','comments'] page_sequence = [ BonusQuestions, BonusQuestions2, Demographics, Covid ]