from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class TaskDescription(Page): def vars_for_template(self): max_payoff_per_product = self.session.config['max_payoff_per_product'] max_payoff_per_product_two_decimals = f'{max_payoff_per_product:.2f}' return{ 'total_number_products' : self.participant.vars['number_products'], 'fixed_payoff' : self.session.config['participation_fee'], 'max_payoff_per_product' : max_payoff_per_product_two_decimals, 'number_periods_historic_demand' : self.session.config['number_periods_historic_demand'] } class Comprehension(Page): form_model = 'player' form_fields = ['Q1', 'Q2', 'Q3', 'Q4'] def before_next_page(self): if ((self.player.Q1 != '1') or (self.player.Q2 != '1') or (self.player.Q3 != '1') or (self.player.Q3 != '1')): self.participant.vars['quiz_successful'] = False else: self.participant.vars['quiz_successful'] = True class Comprehension_Failed(Page): def is_displayed(self): return not(self.participant.vars['quiz_successful']) page_sequence = [TaskDescription, Comprehension, Comprehension_Failed]