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['base_payment'] + self.session.config['completion_award']), 'participation_fee': c(self.session.config['base_payment']), } 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', 'end_qn_2', 'end_qn_3'] 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'] and not self.participant.vars['failed_sociodemo'] and not self.participant.vars['failed_voucher'] def vars_for_template(self): return shared_vars(self) def before_next_page(self): self.player.set_payoff() self.player.completed = self.participant.vars['completed'] self.player.failed_comprehension = self.participant.vars['failed_comprehension'] self.player.invited = self.participant.vars['invited'] 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 ]