from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants # class ProlificID(Page): # form_model = 'player' # form_fields = ['Prol'] #domande di controllo class Instructions_0(Page): form_model = 'player' form_fields = ['stop'] def vars_for_template(self): return{ 'treatment': self.session.config['treatment'] } class Instructions_1(Page): def is_displayed(self): return self.player.stop == 0 def vars_for_template(self): return{ 'treatment': self.session.config['treatment'] } #domande di controllo class Instructions_2(Page): form_model = 'player' form_fields = ['q1', 'q2', 'q3', 'q4'] def is_displayed(self): return self.player.stop == 0 def error_message(self, values): if values['q1'] != 2: self.player.Errors += 1 return 'The answer to question n. 1 is wrong' #attention check if values['q2'] != 2: self.player.Errors += 1 return 'The answer to question n. 2 is wrong' if values['q3'] != 1: self.player.Errors += 1 return 'The answer to question n. 3 is wrong' if self.session.config['treatment'] != 1: if values['q4'] != 2: self.player.Errors += 1 return 'The answer to question n. 4 is wrong' else: if values['q4'] != 1: self.player.Errors += 1 return 'The answer to question n. 4 is wrong' #attention check def vars_for_template(self): return{ 'treatment': self.session.config['treatment'] } class Stop(Page): def is_displayed(self): return self.player.Errors > 2 class Beliefs_L(Page): form_model = 'player' form_fields = ['Belief_L'] def is_displayed(self): return self.player.stop == 0 def before_next_page(self): self.player.leggi_dati() self.player.set_payoff() def vars_for_template(self): return{ 'treatment': self.session.config['treatment'] } class Beliefs_F(Page): form_model = 'player' form_fields = ['Belief_F'] def is_displayed(self): return self.player.stop == 0 and self.session.config['treatment'] < 5 def before_next_page(self): self.player.leggi_dati() self.player.set_payoff() def vars_for_template(self): return{ 'L':self.player.L, 'L_1':self.player.L_1, 'P': self.player.P, 'P_L': self.player.P_L, 'P_F': self.player.P_F, 'treatment': self.session.config['treatment'] } class ResultsWaitPage(WaitPage): pass class Results(Page): def vars_for_template(self): if self.player.stop == 1: self.player.leggi_dati() self.player.set_payoff() return { 'L':self.player.L, 'F':self.player.F, 'finalpay': self.player.final_payoff, 'right_L': self.player.right_L, 'right_F': self.player.right_F, 'stop': self.player.stop, 'finalmoney': self.player.pay_pound, 'treatment': self.session.config['treatment'], } class Back_to_Prolific (Page): pass page_sequence = [ Instructions_0, Instructions_1, Instructions_2, Stop, Beliefs_L, Beliefs_F, Results, Back_to_Prolific ]