from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Initial_wait(WaitPage): after_all_players_arrive = 'assign_type' title_text = 'Please Wait' body_text = 'Please wait for the experiment to continue.' class S_I(Page): form_model = 'player' def is_displayed(self): return self.player.type == 'S' class S_D(Page): form_model = 'player' form_fields = ['message'] def is_displayed(self): return self.player.type == 'S' class R_I(Page): form_model = 'player' def is_displayed(self): if self.player.type == 'R1' or self.player.type == 'R2': return True else: return False class R_Wait_Page(WaitPage): after_all_players_arrive = 'all_same_message' title_text = 'Responder Wait Screen' body_text = 'Please wait while the player you are matched with chooses their message.' def is_displayed(self): return self.player.type == 'R1' or self.player.type == 'R2' class R_D(Page): form_model = 'player' form_fields = ['choice'] def is_displayed(self): if self.player.type == 'R1' or self.player.type == 'R2': return True else: return False class Wait_for_results(WaitPage): after_all_players_arrive = 'set_payoffs' title_text = 'Waiting Screen' body_text = 'Please wait while decisions are recorded and payments are calculated.' class R_S(Page): form_model = 'player' def is_displayed(self): return self.player.type=='S' class R_R(Page): form_model = 'player' def is_displayed(self): return self.player.type == 'R1' or self.player.type=='R2' page_sequence = [Initial_wait, S_I, S_D, R_I, R_Wait_Page, R_D, Wait_for_results, R_S, R_R]