from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants from random import shuffle class transition(Page): def is_displayed(self): return not self.player.id_in_group == 3 and not self.player.id_in_group == 5 and not \ self.player.id_in_group == 9 and not self.player.id_in_group == 13 form_model = 'player' form_fields = ['man1', 'man2', 'exd1', 'exd2', 'exd3r', 'exd4', 'exd5r', 'exd6r', 'exd7r', 'exd8r'] class transitionC(Page): def is_displayed(self): return self.player.id_in_group == 3 or self.player.id_in_group == 5 or \ self.player.id_in_group == 9 or self.player.id_in_group == 13 form_model = 'player' form_fields = ['man1', 'man2', 'exd1', 'exd2', 'exd3r', 'exd4', 'exd5r', 'exd6r', 'exd7r', 'exd8r'] class preintro(Page): pass class intro(Page): form_model = 'player' form_fields = ['suggestion1', 'suggestion2'] class wait(WaitPage): def after_all_players_arrive(self): self.group.assign_names() class chat(Page): timeout_seconds = 300 class IVarticle(Page): def is_displayed(self): return self.player.id_in_group == 2 or self.player.id_in_group == 4 or self.player.id_in_group == 6 or \ self.player.id_in_group == 8 or self.player.id_in_group == 10 or self.player.id_in_group == 12 or \ self.player.id_in_group == 14 or self.player.id_in_group == 16 class controlarticle(Page): def is_displayed(self): return self.player.id_in_group == 1 or self.player.id_in_group == 3 or self.player.id_in_group == 5 or \ self.player.id_in_group == 7 or self.player.id_in_group == 9 or self.player.id_in_group == 11 or \ self.player.id_in_group == 13 or self.player.id_in_group == 15 class private(Page): form_model = 'player' form_fields = ['thoughtsa', 'thoughtsb','thoughtsc', 'thoughtsd', 'thoughtse'] class plignorance(Page): form_model = 'player' form_fields = ['pli1', 'pli2'] class plignorance2(Page): form_model = 'player' form_fields = ['filler4', 'filler5', 'filler6', 'filler7', 'manipchat1', 'manipchat2'] class plignorance3(Page): form_model = 'player' form_fields = ['filler1', 'filler2'] class checkcontrol(Page): def is_displayed(self): return self.player.id_in_group == 1 or self.player.id_in_group == 3 or self.player.id_in_group == 5 or \ self.player.id_in_group == 7 or self.player.id_in_group == 9 or self.player.id_in_group == 11 or \ self.player.id_in_group == 13 or self.player.id_in_group == 15 form_model = 'player' form_fields = ['control1', 'control2'] class checkIV(Page): def is_displayed(self): return self.player.id_in_group == 2 or self.player.id_in_group == 4 or self.player.id_in_group == 6 or \ self.player.id_in_group == 8 or self.player.id_in_group == 10 or self.player.id_in_group == 12 or \ self.player.id_in_group == 14 or self.player.id_in_group == 16 form_model = 'player' form_fields = ['IV1', 'IV2'] page_sequence = [ transition, transitionC, preintro, controlarticle, IVarticle, wait, intro, wait, private, wait, chat, plignorance2, plignorance3, plignorance, checkcontrol, checkIV, ]