from otree.api import Currency as c, currency_range from . import models from ._builtin import Page, WaitPage from .models import Constants def shared_vars(self): """ get variables from session configs level """ return { 'fee': self.session.config['participation_fee'], 'total_payoff': self.session.config['participation_fee'] + self.participant.payoff, 'radio_amounts': zip(Constants.list2, Constants.list1), 'additional_radio': range(0,11,1), } class Sociodemographics(Page): form_model = 'player' form_fields = ['gender', 'age', 'education', 'income', 'income_guess'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] def vars_for_template(self): return shared_vars(self) class FinishedTasks(Page): def before_next_page(self): self.player.failed_comprehension = self.participant.vars['failed_comprehension'] self.player.set_payoff() def vars_for_template(self): return shared_vars(self) class PayoffandGoodbye(Page): def vars_for_template(self): return shared_vars(self) class AttentionCheck1(Page): form_model = 'player' form_fields = ['attention_check'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] def vars_for_template(self): return shared_vars(self) class Question1(Page): form_model = 'player' form_fields = ['add_qn_1'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] def vars_for_template(self): return shared_vars(self) class Question2(Page): form_model = 'player' form_fields = ['add_qn_2'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] def vars_for_template(self): return shared_vars(self) class Question3(Page): form_model = 'player' form_fields = ['add_qn_3'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] def vars_for_template(self): return shared_vars(self) class ToProlific(Page): def vars_for_template(self): return shared_vars(self) page_sequence = [ Sociodemographics, AttentionCheck1, Question1, Question2, Question3, FinishedTasks, PayoffandGoodbye, ToProlific, ]