from otree.api import Currency as c, currency_range from . import models from ._builtin import Page, WaitPage from .models import Constants from django.http.response import HttpResponseRedirect def vars_for_all_templates(self): """ get variables from session configs level """ return { 'fee': self.session.config['participation_fee'], 'total_fixed_bonus': c(1.5), '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 = models.Player form_fields = ['gender', 'age', 'education', 'income', 'income_guess'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] def before_next_page(self): self.player.draw_gender_spec() class FinishedTasks(Page): def before_next_page(self): self.player.set_payoff() class PayoffandGoodbye(Page): def vars_for_template(self): return { } class AttentionCheck1(Page): form_model = 'player' form_fields = ['attention_check'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] class Question1(Page): form_model = 'player' form_fields = ['add_qn_1'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] class Question2(Page): form_model = 'player' form_fields = ['add_qn_2'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] class Question3(Page): form_model = 'player' form_fields = ['add_qn_3'] def is_displayed(self): return not self.participant.vars['failed_comprehension'] page_sequence = [ Sociodemographics, AttentionCheck1, Question1, Question2, Question3, FinishedTasks, PayoffandGoodbye, ]