from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants class Part3intro(Page): pass class Part3Questionnaire1of3(Page): form_model = 'player' form_fields = ['quest_sociodem_n1', 'quest_sociodem_n2', 'quest_sociodem_n3', 'quest_sociodem_n4'] def before_next_page(self): self.participant.vars['quest_sociodem_n1'] = self.player.quest_sociodem_n1 self.participant.vars['quest_sociodem_n2'] = self.player.quest_sociodem_n2 self.participant.vars['quest_sociodem_n3'] = self.player.quest_sociodem_n3 self.participant.vars['quest_sociodem_n4'] = self.player.quest_sociodem_n4 class Part3Questionnaire2of3Page1of6(Page): form_model = 'player' form_fields = ['quest_psm_qual_n1'] def before_next_page(self): self.participant.vars['quest_psm_qual_n1'] = self.player.quest_psm_qual_n1 class Part3Questionnaire2of3Page2of6(Page): form_model = 'player' form_fields = ['quest_psm_quant_n1'] def before_next_page(self): self.participant.vars['quest_psm_quant_n1'] = self.player.quest_psm_quant_n1 class Part3Questionnaire2of3Page3of6(Page): form_model = 'player' def get_form_fields(self): if self.player.quest_psm_quant_n1 == 1: return ['quest_psm_quant_n2'] else: return ['quest_psm_quant_n17'] def vars_for_template(self): return dict( quest_psm_quant_n1_lottery=self.player.quest_psm_quant_n1 == 0, quest_psm_quant_n1_surepay=self.player.quest_psm_quant_n1 == 1 ) def before_next_page(self): self.participant.vars['quest_psm_quant_n2'] = self.player.quest_psm_quant_n2 self.participant.vars['quest_psm_quant_n2'] = self.player.quest_psm_quant_n2 class Part3Questionnaire2of3Page4of6(Page): form_model = 'player' def get_form_fields(self): if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1: return ['quest_psm_quant_n3'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0: return ['quest_psm_quant_n10'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0: return ['quest_psm_quant_n25'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1: return ['quest_psm_quant_n18'] def vars_for_template(self): return dict( quest_psm_quant_n1_lottery=self.player.quest_psm_quant_n1 == 0, quest_psm_quant_n1_surepay=self.player.quest_psm_quant_n1 == 1, quest_psm_quant_n2_lottery=self.player.quest_psm_quant_n2 == 0, quest_psm_quant_n2_surepay=self.player.quest_psm_quant_n2 == 1, quest_psm_quant_n17_lottery=self.player.quest_psm_quant_n17 == 0, quest_psm_quant_n17_surepay=self.player.quest_psm_quant_n17 == 1, ) def before_next_page(self): self.participant.vars['quest_psm_quant_n3'] = self.player.quest_psm_quant_n3 self.participant.vars['quest_psm_quant_n10'] = self.player.quest_psm_quant_n10 self.participant.vars['quest_psm_quant_n18'] = self.player.quest_psm_quant_n18 self.participant.vars['quest_psm_quant_n25'] = self.player.quest_psm_quant_n25 class Part3Questionnaire2of3Page5of6(Page): form_model = 'player' def get_form_fields(self): if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1 \ and self.player.quest_psm_quant_n3 == 1: return ['quest_psm_quant_n7'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1 \ and self.player.quest_psm_quant_n3 == 0: return ['quest_psm_quant_n4'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0 \ and self.player.quest_psm_quant_n10 == 1: return ['quest_psm_quant_n11'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0 \ and self.player.quest_psm_quant_n10 == 0: return ['quest_psm_quant_n14'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1 \ and self.player.quest_psm_quant_n18 == 1: return ['quest_psm_quant_n19'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1 \ and self.player.quest_psm_quant_n18 == 0: return ['quest_psm_quant_n22'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0 \ and self.player.quest_psm_quant_n25 == 1: return ['quest_psm_quant_n26'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0 \ and self.player.quest_psm_quant_n25 == 0: return ['quest_psm_quant_n29'] def vars_for_template(self): return dict( quest_psm_quant_n1_lottery=self.player.quest_psm_quant_n1 == 0, quest_psm_quant_n1_surepay=self.player.quest_psm_quant_n1 == 1, quest_psm_quant_n2_lottery=self.player.quest_psm_quant_n2 == 0, quest_psm_quant_n2_surepay=self.player.quest_psm_quant_n2 == 1, quest_psm_quant_n17_lottery=self.player.quest_psm_quant_n17 == 0, quest_psm_quant_n17_surepay=self.player.quest_psm_quant_n17 == 1, quest_psm_quant_n3_lottery=self.player.quest_psm_quant_n3 == 0, quest_psm_quant_n3_surepay=self.player.quest_psm_quant_n3 == 1, quest_psm_quant_n10_lottery=self.player.quest_psm_quant_n10 == 0, quest_psm_quant_n10_surepay=self.player.quest_psm_quant_n10 == 1, quest_psm_quant_n18_lottery=self.player.quest_psm_quant_n18 == 0, quest_psm_quant_n18_surepay=self.player.quest_psm_quant_n18 == 1, quest_psm_quant_n25_lottery=self.player.quest_psm_quant_n25 == 0, quest_psm_quant_n25_surepay=self.player.quest_psm_quant_n25 == 1, ) def before_next_page(self): self.participant.vars['quest_psm_quant_n29'] = self.player.quest_psm_quant_n29 self.participant.vars['quest_psm_quant_n26'] = self.player.quest_psm_quant_n26 self.participant.vars['quest_psm_quant_n22'] = self.player.quest_psm_quant_n22 self.participant.vars['quest_psm_quant_n19'] = self.player.quest_psm_quant_n19 self.participant.vars['quest_psm_quant_n14'] = self.player.quest_psm_quant_n14 self.participant.vars['quest_psm_quant_n11'] = self.player.quest_psm_quant_n11 self.participant.vars['quest_psm_quant_n4'] = self.player.quest_psm_quant_n4 self.participant.vars['quest_psm_quant_n7'] = self.player.quest_psm_quant_n7 class Part3Questionnaire2of3Page6of6(Page): form_model = 'player' def get_form_fields(self): if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1 \ and self.player.quest_psm_quant_n3 == 1 and self.player.quest_psm_quant_n7 == 1: return ['quest_psm_quant_n9'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1 \ and self.player.quest_psm_quant_n3 == 1 and self.player.quest_psm_quant_n7 == 0: return ['quest_psm_quant_n8'] # if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1 \ and self.player.quest_psm_quant_n3 == 0 and self.player.quest_psm_quant_n4 == 1: return ['quest_psm_quant_n6'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 1 \ and self.player.quest_psm_quant_n3 == 0 and self.player.quest_psm_quant_n4 == 0: return ['quest_psm_quant_n5'] # if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0 \ and self.player.quest_psm_quant_n10 == 1 and self.player.quest_psm_quant_n11 == 1: return ['quest_psm_quant_n12'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0 \ and self.player.quest_psm_quant_n10 == 1 and self.player.quest_psm_quant_n11 == 0: return ['quest_psm_quant_n13'] # if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0 \ and self.player.quest_psm_quant_n10 == 0 and self.player.quest_psm_quant_n14 == 1: return ['quest_psm_quant_n16'] if self.player.quest_psm_quant_n1 == 1 and self.player.quest_psm_quant_n2 == 0 \ and self.player.quest_psm_quant_n10 == 0 and self.player.quest_psm_quant_n14 == 0: return ['quest_psm_quant_n15'] # if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1 \ and self.player.quest_psm_quant_n18 == 1 and self.player.quest_psm_quant_n19 == 1: return ['quest_psm_quant_n21'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1 \ and self.player.quest_psm_quant_n18 == 1 and self.player.quest_psm_quant_n19 == 0: return ['quest_psm_quant_n20'] # if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1 \ and self.player.quest_psm_quant_n18 == 0 and self.player.quest_psm_quant_n22 == 1: return ['quest_psm_quant_n24'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 1 \ and self.player.quest_psm_quant_n18 == 0 and self.player.quest_psm_quant_n22 == 0: return ['quest_psm_quant_n23'] # if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0 \ and self.player.quest_psm_quant_n25 == 1 and self.player.quest_psm_quant_n26 == 1: return ['quest_psm_quant_n28'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0 \ and self.player.quest_psm_quant_n25 == 1 and self.player.quest_psm_quant_n26 == 0: return ['quest_psm_quant_n27'] # if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0 \ and self.player.quest_psm_quant_n25 == 0 and self.player.quest_psm_quant_n29 == 1: return ['quest_psm_quant_n30'] if self.player.quest_psm_quant_n1 == 0 and self.player.quest_psm_quant_n17 == 0 \ and self.player.quest_psm_quant_n25 == 0 and self.player.quest_psm_quant_n29 == 0: return ['quest_psm_quant_n31'] def vars_for_template(self): return dict( quest_psm_quant_n1_lottery=self.player.quest_psm_quant_n1 == 0, quest_psm_quant_n1_surepay=self.player.quest_psm_quant_n1 == 1, quest_psm_quant_n2_lottery=self.player.quest_psm_quant_n2 == 0, quest_psm_quant_n2_surepay=self.player.quest_psm_quant_n2 == 1, quest_psm_quant_n17_lottery=self.player.quest_psm_quant_n17 == 0, quest_psm_quant_n17_surepay=self.player.quest_psm_quant_n17 == 1, quest_psm_quant_n3_lottery=self.player.quest_psm_quant_n3 == 0, quest_psm_quant_n3_surepay=self.player.quest_psm_quant_n3 == 1, quest_psm_quant_n10_lottery=self.player.quest_psm_quant_n10 == 0, quest_psm_quant_n10_surepay=self.player.quest_psm_quant_n10 == 1, quest_psm_quant_n18_lottery=self.player.quest_psm_quant_n18 == 0, quest_psm_quant_n18_surepay=self.player.quest_psm_quant_n18 == 1, quest_psm_quant_n25_lottery=self.player.quest_psm_quant_n25 == 0, quest_psm_quant_n25_surepay=self.player.quest_psm_quant_n25 == 1, quest_psm_quant_n29_lottery=self.player.quest_psm_quant_n29 == 0, quest_psm_quant_n29_surepay=self.player.quest_psm_quant_n29 == 1, quest_psm_quant_n26_lottery=self.player.quest_psm_quant_n26 == 0, quest_psm_quant_n26_surepay=self.player.quest_psm_quant_n26 == 1, quest_psm_quant_n22_lottery=self.player.quest_psm_quant_n22 == 0, quest_psm_quant_n22_surepay=self.player.quest_psm_quant_n22 == 1, quest_psm_quant_n19_lottery=self.player.quest_psm_quant_n19 == 0, quest_psm_quant_n19_surepay=self.player.quest_psm_quant_n19 == 1, quest_psm_quant_n14_lottery=self.player.quest_psm_quant_n14 == 0, quest_psm_quant_n14_surepay=self.player.quest_psm_quant_n14 == 1, quest_psm_quant_n11_lottery=self.player.quest_psm_quant_n11 == 0, quest_psm_quant_n11_surepay=self.player.quest_psm_quant_n11 == 1, quest_psm_quant_n4_lottery=self.player.quest_psm_quant_n4 == 0, quest_psm_quant_n4_surepay=self.player.quest_psm_quant_n4 == 1, quest_psm_quant_n7_lottery=self.player.quest_psm_quant_n7 == 0, quest_psm_quant_n7_surepay=self.player.quest_psm_quant_n7 == 1, ) def before_next_page(self): self.participant.vars['quest_psm_quant_n31'] = self.player.quest_psm_quant_n31 self.participant.vars['quest_psm_quant_n30'] = self.player.quest_psm_quant_n30 self.participant.vars['quest_psm_quant_n27'] = self.player.quest_psm_quant_n27 self.participant.vars['quest_psm_quant_n28'] = self.player.quest_psm_quant_n28 self.participant.vars['quest_psm_quant_n23'] = self.player.quest_psm_quant_n23 self.participant.vars['quest_psm_quant_n24'] = self.player.quest_psm_quant_n24 self.participant.vars['quest_psm_quant_n20'] = self.player.quest_psm_quant_n20 self.participant.vars['quest_psm_quant_n21'] = self.player.quest_psm_quant_n21 self.participant.vars['quest_psm_quant_n15'] = self.player.quest_psm_quant_n15 self.participant.vars['quest_psm_quant_n16'] = self.player.quest_psm_quant_n16 self.participant.vars['quest_psm_quant_n13'] = self.player.quest_psm_quant_n13 self.participant.vars['quest_psm_quant_n12'] = self.player.quest_psm_quant_n12 self.participant.vars['quest_psm_quant_n5'] = self.player.quest_psm_quant_n5 self.participant.vars['quest_psm_quant_n6'] = self.player.quest_psm_quant_n6 self.participant.vars['quest_psm_quant_n8'] = self.player.quest_psm_quant_n8 self.participant.vars['quest_psm_quant_n9'] = self.player.quest_psm_quant_n9 # # if self.player.quest_psm_quant_n31 == 0: self.player.quest_psm_quant_switching_row = 32 if self.player.quest_psm_quant_n31 == 1: self.player.quest_psm_quant_switching_row = 31 if self.player.quest_psm_quant_n30 == 0: self.player.quest_psm_quant_switching_row = 30 if self.player.quest_psm_quant_n30 == 1: self.player.quest_psm_quant_switching_row = 29 # if self.player.quest_psm_quant_n27 == 0: self.player.quest_psm_quant_switching_row = 28 if self.player.quest_psm_quant_n27 == 1: self.player.quest_psm_quant_switching_row = 27 if self.player.quest_psm_quant_n28 == 0: self.player.quest_psm_quant_switching_row = 26 if self.player.quest_psm_quant_n28 == 1: self.player.quest_psm_quant_switching_row = 25 # if self.player.quest_psm_quant_n27 == 0: self.player.quest_psm_quant_switching_row = 26 if self.player.quest_psm_quant_n27 == 1: self.player.quest_psm_quant_switching_row = 25 if self.player.quest_psm_quant_n28 == 0: self.player.quest_psm_quant_switching_row = 26 if self.player.quest_psm_quant_n28 == 1: self.player.quest_psm_quant_switching_row = 25 # if self.player.quest_psm_quant_n23 == 0: self.player.quest_psm_quant_switching_row = 24 if self.player.quest_psm_quant_n23 == 1: self.player.quest_psm_quant_switching_row = 23 if self.player.quest_psm_quant_n24 == 0: self.player.quest_psm_quant_switching_row = 22 if self.player.quest_psm_quant_n24 == 1: self.player.quest_psm_quant_switching_row = 21 # if self.player.quest_psm_quant_n20 == 0: self.player.quest_psm_quant_switching_row = 20 if self.player.quest_psm_quant_n20 == 1: self.player.quest_psm_quant_switching_row = 19 if self.player.quest_psm_quant_n21 == 0: self.player.quest_psm_quant_switching_row = 18 if self.player.quest_psm_quant_n21 == 1: self.player.quest_psm_quant_switching_row = 17 # if self.player.quest_psm_quant_n15 == 0: self.player.quest_psm_quant_switching_row = 16 if self.player.quest_psm_quant_n15 == 1: self.player.quest_psm_quant_switching_row = 15 if self.player.quest_psm_quant_n16 == 0: self.player.quest_psm_quant_switching_row = 14 if self.player.quest_psm_quant_n16 == 1: self.player.quest_psm_quant_switching_row = 13 # if self.player.quest_psm_quant_n13 == 0: self.player.quest_psm_quant_switching_row = 12 if self.player.quest_psm_quant_n13 == 1: self.player.quest_psm_quant_switching_row = 11 if self.player.quest_psm_quant_n12 == 0: self.player.quest_psm_quant_switching_row = 10 if self.player.quest_psm_quant_n12 == 1: self.player.quest_psm_quant_switching_row = 9 # if self.player.quest_psm_quant_n5 == 0: self.player.quest_psm_quant_switching_row = 8 if self.player.quest_psm_quant_n5 == 1: self.player.quest_psm_quant_switching_row = 7 if self.player.quest_psm_quant_n6 == 0: self.player.quest_psm_quant_switching_row = 6 if self.player.quest_psm_quant_n6 == 1: self.player.quest_psm_quant_switching_row = 5 # if self.player.quest_psm_quant_n8 == 0: self.player.quest_psm_quant_switching_row = 4 if self.player.quest_psm_quant_n8 == 1: self.player.quest_psm_quant_switching_row = 3 if self.player.quest_psm_quant_n9 == 0: self.player.quest_psm_quant_switching_row = 2 if self.player.quest_psm_quant_n9 == 1: self.player.quest_psm_quant_switching_row = 1 # class Part3Questionnaire3of3(Page): form_model = 'player' form_fields = ['quest_numeracy_n1', 'quest_numeracy_n2', 'quest_numeracy_n3', 'quest_numeracy_n4'] def before_next_page(self): self.participant.vars['quest_numeracy_n1'] = self.player.quest_numeracy_n1 self.participant.vars['quest_numeracy_n2'] = self.player.quest_numeracy_n2 self.participant.vars['quest_numeracy_n3'] = self.player.quest_numeracy_n3 self.participant.vars['quest_numeracy_n4'] = self.player.quest_numeracy_n4 class Part3end(Page): pass page_sequence = [ Part3intro, Part3Questionnaire1of3, Part3Questionnaire2of3Page1of6, Part3Questionnaire2of3Page2of6, Part3Questionnaire2of3Page3of6, Part3Questionnaire2of3Page4of6, Part3Questionnaire2of3Page5of6, Part3Questionnaire2of3Page6of6, Part3Questionnaire3of3, Part3end ]