from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class A_Intro(Page): def is_displayed(self): return self.round_number == 1 # version below has all questions on the same page class B_CtrlQns(Page): form_model = 'player' def get_form_fields(self): if self.player.treatstrategy: return ['ctrltaskpaid', 'ctrltask1roundpaid', 'ctrlgroup', 'ctrlfeedback', 'ctrlpayoffmember', 'ctrlpayoffleader', 'ctrlbeliefpayment', 'ctrltruthtelling', 'ctrlstrategy', ] else: return ['ctrltaskpaid', 'ctrltask1roundpaid', 'ctrlgroup', 'ctrlfeedback', 'ctrlpayoffmember', 'ctrlpayoffleader', 'ctrlbeliefpayment', 'ctrltruthtelling', ] form_fields = [ 'ctrltaskpaid', 'ctrltask1roundpaid', 'ctrlgroup', 'ctrlfeedback', 'ctrlpayoffmember', 'ctrlpayoffleader', 'ctrlstrategy', 'ctrlbeliefpayment', 'ctrltruthtelling', ] def is_displayed(self): return self.round_number == 1 def error_message(self, value): return self.player.error_message(value) # show each question on a separate page class C1_CtrlQnsTaskPaid(Page): form_model = 'player' form_fields = ['ctrltaskpaid'] def is_displayed(self): return self.round_number == 1 class C2_CtrlQnsTask1RoundPaid(Page): form_model = 'player' form_fields = ['ctrltask1roundpaid'] def is_displayed(self): return self.round_number == 1 class C3_CtrlQnsGroup(Page): form_model = 'player' form_fields = ['ctrlgroup'] def is_displayed(self): return self.round_number == 1 class C4_CtrlQnsFeedback(Page): form_model = 'player' form_fields = ['ctrlfeedback'] def is_displayed(self): return self.round_number == 1 class C5_CtrlQnsPayoffMember(Page): form_model = 'player' form_fields = ['ctrlpayoffmember'] def is_displayed(self): return self.round_number == 1 class C6_CtrlQnsPayoffLeader(Page): form_model = 'player' form_fields = ['ctrlpayoffleader'] def is_displayed(self): return self.round_number == 1 class C7_CtrlQnsStrategy(Page): form_model = 'player' form_fields = ['ctrlstrategy'] def is_displayed(self): return self.round_number == 1 and self.player.treatstrategy class C8_CtrlQnsBeliefPayment(Page): form_model = 'player' form_fields = ['ctrlbeliefpayment'] def is_displayed(self): return self.round_number == 1 class C9_CtrlQnsTruthTelling(Page): form_model = 'player' form_fields = ['ctrltruthtelling'] def is_displayed(self): return self.round_number == 1 page_sequence = [ A_Intro, # B_CtrlQns, C1_CtrlQnsTaskPaid, C2_CtrlQnsTask1RoundPaid, C3_CtrlQnsGroup, C4_CtrlQnsFeedback, C5_CtrlQnsPayoffMember, C6_CtrlQnsPayoffLeader, C7_CtrlQnsStrategy, C8_CtrlQnsBeliefPayment, C9_CtrlQnsTruthTelling, ]