from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random class MyPage(Page): pass class Before_Survies(Page): #form_model = models.Player form_model = "player" def is_displayed(self): return self.round_number == 120 class Trait_Trust(Page): #form_model = models.Player form_model = 'player' form_fields = ['Trait_q1', 'Trait_q2', 'Trait_q3', 'Trait_q4', 'Trait_q5','Trait_q6', 'Trait_q7', 'Trait_q8', 'Trait_q9','Trait_q10', 'Trait_q11', 'Trait_q12', 'Trait_q13', 'Trait_q14','Trait_q15','Trait_q16', 'Trait_q17', 'Trait_q18', 'Trait_q19','Trait_q20', 'Trait_q21', 'Trait_q22', 'Trait_q23', 'Trait_q24'] def is_displayed(self): return self.round_number == 1 def get_form_fields(self): fields = self.form_fields random.shuffle(fields) return fields class State_Trust(Page): #form_model = models.Player form_model = "player" form_fields = ['State_q1_Player_1', 'State_q2_Player_1', 'State_q3_Player_1', 'State_q4_Player_1', 'State_q5_Player_1','State_q6_Player_1', 'State_q7_Player_1', 'State_q8_Player_1', 'State_q9_Player_1','State_q10_Player_1', 'State_q11_Player_1', 'State_q12_Player_1', 'State_q13_Player_1', 'State_q14_Player_1'] def is_displayed(self): return self.round_number == 120 def get_form_fields(self): fields = self.form_fields random.shuffle(fields) return fields class State_Trust_Player_1(Page): #form_model = models.Player form_model = "player" #form_model = models.Player form_fields = ['State_q1_Player_2', 'State_q2_Player_2', 'State_q3_Player_2', 'State_q4_Player_2', 'State_q5_Player_2', 'State_q6_Player_2', 'State_q7_Player_2', 'State_q8_Player_2', 'State_q9_Player_2','State_q10_Player_2', 'State_q11_Player_2', 'State_q12_Player_2', 'State_q13_Player_2', 'State_q14_Player_2'] def is_displayed(self): return self.round_number == 120 class State_Trust_Player_2(Page): #form_model = models.Player form_model = "player" #form_model = models.Player form_fields = ['State_q1_Player_2','State_q2_Player_2', 'State_q3_Player_2', 'State_q4_Player_2', 'State_q5_Player_2','State_q6_Player_2', 'State_q7_Player_2', 'State_q8_Player_2', 'State_q9_Player_2','State_q10_Player_2','State_q11_Player_2', 'State_q12_Player_2', 'State_q13_Player_2', 'State_q14_Player_2'] def is_displayed(self): return self.round_number == 120 def get_form_fields(self): fields = self.form_fields random.shuffle(fields) return fields class State_Trust_Player_3(Page): #form_model = models.Player form_model = "player" #form_model = models.Player form_fields = ['State_q1_Player_3','State_q2_Player_3', 'State_q3_Player_3', 'State_q4_Player_3', 'State_q5_Player_3','State_q6_Player_3', 'State_q7_Player_3', 'State_q8_Player_3', 'State_q9_Player_3','State_q10_Player_3','State_q11_Player_3', 'State_q12_Player_3', 'State_q13_Player_3', 'State_q14_Player_3'] def is_displayed(self): return self.round_number == 120 def get_form_fields(self): fields = self.form_fields random.shuffle(fields) return fields class State_Trust_Player_4(Page): #form_model = models.Player form_model = "player" #form_model = models.Player form_fields = ['State_q1_Player_4', 'State_q2_Player_4', 'State_q3_Player_4', 'State_q4_Player_4', 'State_q5_Player_4', 'State_q6_Player_4', 'State_q7_Player_4', 'State_q8_Player_4', 'State_q9_Player_4', 'State_q10_Player_4','State_q11_Player_4', 'State_q12_Player_4', 'State_q13_Player_4', 'State_q14_Player_4'] def is_displayed(self): return self.round_number == 120 def get_form_fields(self): fields = self.form_fields random.shuffle(fields) return fields class Contribute(Page): form_model = 'player' #form_model = models.Player form_fields = ['sent_amount1', 'sent_amount2', 'sent_amount3', 'Time_Contribute'] def error_message(self, values): if values["sent_amount1"] + values["sent_amount2"] + values["sent_amount3"] > Constants.endowment: return 'Total allotment to other players can not acceed total round endowment' def before_next_page(self): self.player.set_payoffs() def is_displayed(self): return self.round_number <=120 class Wait(Page): form_model = 'player' timeout_seconds = 5 #form_model = models.Player def is_displayed(self): return self.round_number <=120 class TURK_ID(Page): form_model = 'player' #form_model = models.Player form_fields = ['Turk_ID'] def is_displayed(self): return self.round_number ==1 class Final_Payoff(Page): #form_model = models.Player form_model = "player" def is_displayed(self): return self.round_number == 120 class ResultsWaitPage(WaitPage): #def after_all_players_arrive(self): # self.player.set_payoffs() def is_displayed(self): return self.round_number <=120 class Wait_Page(Page): timeout_seconds = 5 def is_displayed(self): return self.round_number <=120 class Results(Page): form_model = 'player' form_fields = ['Time_Results'] def is_displayed(self): return self.round_number <=120 class Experiment_End_Code(Page): form_model='player' def is_displayed(self): return self.round_number == 120 page_sequence = [ TURK_ID, Trait_Trust, Contribute, #Wait_Page, #ResultsWaitPage, Wait, Results, Before_Survies, State_Trust, State_Trust_Player_2, State_Trust_Player_3, #State_Trust_Player_4, Experiment_End_Code ]