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): return { 'radio_amounts': zip(Constants.list2, Constants.list1), 'additional_radio': range(0, 11, 1), 'total_fixed_payment': c(self.session.config['participation_fee'] + self.session.config['completion_award']), 'participation_fee': c(self.session.config['participation_fee']), } class EndQuestions(Page): def is_displayed(self): return self.participant.vars['tests_passed'] def vars_for_template(self): return shared_vars(self) form_model = 'player' form_fields = ['end_qn_1'] class RepeatedCheck(Page): def is_displayed(self): return self.participant.vars['tests_passed'] def vars_for_template(self): return shared_vars(self) form_model = 'player' form_fields = ['repeated_check'] class FinishedTasks(Page): def is_displayed(self): return self.participant.vars['tests_passed'] def vars_for_template(self): return shared_vars(self) class Debriefing(Page): def is_displayed(self): return not self.participant.vars['failed_attention'] def vars_for_template(self): return shared_vars(self) def before_next_page(self): if self.participant.vars['tests_passed']: self.player.set_payoff() self.player.completed = self.participant.vars['completed'] self.player.failed_comprehension = self.participant.vars['failed_comprehension'] class PayoffandGoodbye(Page): def vars_for_template(self): return shared_vars(self) class ToProlific(Page): def is_displayed(self): return self.participant.vars['completed'] def vars_for_template(self): return shared_vars(self) page_sequence = [ EndQuestions, RepeatedCheck, Debriefing, PayoffandGoodbye, ToProlific ]