from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants # 1 # 2 # 3 # 4 class Demographics(Page): form_model = 'player' form_fields = ['age', 'gender'] class CognitiveReflectionTest(Page): form_model = 'player' form_fields = ['crt_bat', 'crt_widget', 'crt_lake'] class PreviewPage(Page): # No Model pass class ConsentFormPage(Page): pass class DirectionsForToday(Page): form_model = 'player' form_fields = ['q1', 'q2','q3', 'q4', 'q5', 'q6'] error_msag = 'The above answer is incorrect. Please try it again.' def q1_error_message(self, value): if value == 1: return self.error_msag def q2_error_message(self, value): if value == 0: return self.error_msag def q3_error_message(self, value): if value == 1: return self.error_msag def q4_error_message(self, value): if value == 1: return self.error_msag def q5_error_message(self, value): if value != 0: return self.error_msag def q6_error_message(self, value): if value == 0: return self.error_msag class General(Page): pass class Case(Page): form_model = 'player' form_fields = ['q7', 'q8', 'q9'] def q7_error_message(self, value): if value == 1: return 'Please try again' def app_after_this_page(self, upcoming_apps): if self.player.q9 == 0: return 'FirmX_SN' else: return 'FirmY_SN' class FirmYInvest(Page): pass class Page1(Page): form_model = 'player' form_fields = ['q10'] pass class Page3(Page): pass class FinalPage(Page): pass class FirmXInvest(Page): form_model = 'player' form_fields = ['q11', 'q12','q13','q14','q15'] pass class FirmXInvestContinue(Page): pass class FirmXInvesrContinue2(Page): pass class FirmXinvesrtContinue3(Page): pass class PageBreak(Page): pass # Page1, Page3, FirmXInvest, FirmXInvestContinue, FirmXInvesrContinue2, FirmXinvesrtContinue3, FinalPage page_sequence = [PreviewPage, ConsentFormPage, PageBreak, DirectionsForToday, General, Case]