from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Quiz(Page): form_model = 'player' form_fields = ['quiz1', 'quiz2_1', 'quiz2_2', 'quiz2_3', 'quiz3_1', 'quiz3_2', 'quiz3_3', 'quiz4_1', 'quiz4_2', 'quiz4_3', 'quiz5_1', 'quiz5_2'] def error_message(self, values): if values['quiz1'] != True: return 'Question 2 Error!' if values['quiz2_1'] != -18: return 'Question 4.(a) Error!' if values['quiz2_2'] != 13.5: return 'Question 4.(b) Error!' if values['quiz2_3'] != 895.5: return 'Question 4.(c) Error!' if values['quiz3_1'] != 72: return 'Question 1.(a) Error!' if values['quiz3_2'] != 3: return 'Question 1.(b) Error!' if values['quiz3_3'] != 675: return 'Question 1.(c) Error!' if values['quiz4_1'] != 180: return 'Question 5.(a) Error!' if values['quiz4_2'] != -15: return 'Question 5.(b) Error!' if values['quiz4_3'] != 1365: return 'Question 5.(c) Error!' if values['quiz5_1'] != 375: return 'Question 3.(a) Error!' if values['quiz5_2'] != 4.75: return 'Question 3.(b) Error!' class OverConfidence(Page): form_model = 'player' form_fields = ['OC1', 'OC2_min', 'OC2_max', 'OC3', 'OC4_min', 'OC4_max', 'OC5'] timeout_seconds = 180 def error_message(self, values): if values['OC2_min'] > values['OC2_max']: return '‘Lower’ should lower than ‘Upper!’' if values['OC4_min'] > values['OC4_max']: return '‘Lower’ should lower than ‘Upper’!' page_sequence = [Quiz, OverConfidence]