from . import models from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants import random class consent(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class code(Page): def is_displayed(self): return self.subsession.round_number == 1 form_model = models.Player form_fields = ['subjectid'] pass class instructionpage(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage0(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage1(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage2(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage3(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage4(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage4b(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage5(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage6(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage7(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage8(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage9(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpagepractice(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpagepractice2(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpagepractice3(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class resultpractice(Page): def vars_for_template(self): return self.player.set_payoffs() class resultround1(Page): def vars_for_template(self): return self.player.set_payoffs3() class resultround2(Page): def vars_for_template(self): return self.player.set_payoffs4() class resultround3(Page): def vars_for_template(self): return self.player.set_payoffs5() class resultround4(Page): def vars_for_template(self): return self.player.set_payoffs6() class resultround5(Page): def vars_for_template(self): return self.player.set_payoffs7() class resultround6(Page): def vars_for_template(self): return self.player.set_payoffs8() class resultround7(Page): def vars_for_template(self): return self.player.set_payoffs9() class Contributepractice(Page): form_model = models.Player form_fields = ['contribution'] class instructionpage10(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage10b(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage11(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage11b(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage12(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage12a(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage12b(Page): timeout_seconds = 6 class instructionpage12c(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage13(Page): def is_displayed(self): return self.subsession.round_number == 1 pass class instructionpage14(Page): def vars_for_template(self): return self.player.set_payoffs10() class transition1(Page): timeout_seconds = 5 class transition2c(Page): timeout_seconds = 3 class Comprehension0(Page): def is_displayed(self): return self.subsession.round_number == 1 form_model = models.Player form_fields = ['newcheck', 'newcheck2'] def error_message(self, values): if values["newcheck"] != 'In each round remove up to 100 labor points from any Team Member.' or values["newcheck2"] != 'Person 3': self.player.s1q1attempt += 1 return 'At least one answer is wrong, please try again.' pass class Comprehension2(Page): def is_displayed(self): return self.subsession.round_number == 1 form_model = models.Player form_fields = ['newcheck4', 'newcheck5'] def error_message(self, values): if values["newcheck4"] != 'Team auditor' or values["newcheck5"] != 'Remove labor points from your Coworkers': self.player.s1q3attempt += 1 return 'At least one answer is wrong, please try again.' pass class Comprehension1(Page): def is_displayed(self): return self.subsession.round_number == 1 form_model = models.Player form_fields = ['newcheck3'] def error_message(self, values): if values["newcheck3"] != 'Green': self.player.s1q2attempt += 1 return 'Incorrect answer, please read the instruction carefully.' pass class transition2(Page): timeout_seconds = 3 class transition4(Page): pass class Contribute(Page): form_model = models.Player form_fields = ['contribution3'] class Contribute2(Page): form_model = models.Player form_fields = ['contribution4'] class Contribute3(Page): form_model = models.Player form_fields = ['contribution5'] class Contribute4(Page): form_model = models.Player form_fields = ['contribution6'] class Contribute5(Page): form_model = models.Player form_fields = ['contribution7'] class Contribute6(Page): form_model = models.Player form_fields = ['contribution8'] class transition2b(Page): timeout_seconds = 4.8 class waitingleader(Page): timeout_seconds = 14 class transition3(Page): pass class vigilante(Page): pass class vigilante2(Page): pass class SimpleWaitPage(WaitPage): def vars_for_template(self): self.group.set_payoffs() body_text = "Waiting for other group members." pass class vigilantedecision(Page): def vars_for_template(self): return self.player.current() form_model = models.Player form_fields = ['decision_member1', 'decision_member2', 'decision_member3'] page_sequence = [ consent, code, Comprehension1, instructionpage, instructionpage0, instructionpage1, instructionpage2, instructionpage3, instructionpage4, instructionpage4b, instructionpage5, instructionpage6, instructionpage7, instructionpage8, instructionpage9, instructionpagepractice, Contributepractice, instructionpagepractice2, #SimpleWaitPage, resultpractice, instructionpagepractice3, instructionpage10, transition1, transition2, Contribute, transition2b, resultround1, Contribute2, transition2b, resultround2, Contribute3, transition2b, resultround3, instructionpage10b, instructionpage11, instructionpage11b, instructionpage12, instructionpage12a, instructionpage12b, instructionpage12c, Comprehension0, Contribute4, waitingleader, resultround4, transition2c, Contribute5, waitingleader, resultround5, transition2c, Contribute6, waitingleader, resultround6, vigilante, vigilante2, Comprehension2, vigilantedecision, resultround7, transition4, instructionpage14, transition3, ]