from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Submission(Page): form_model = 'player' form_fields = ['sub1', 'sub2', 'sub3', 'sub4', 'sub5', 'sub6', 'sub7', 'sub8', 'sub9', 'sub10', 'sub11', 'sub12', 'sub13', 'sub14', 'sub15', 'sub16', 'sub17', 'sub18', 'sub19', 'sub20', 'sub21'] def vars_for_template(self): # print('self.player.type: ', self.player.type) if self.subsession.round_number < 9: return {'student_preference': Constants.student_preference1, 'school_priority': Constants.school_priority1, 'player_preference': Constants.student_preference1[self.player.type]} else: return {'student_preference': Constants.student_preference2, 'school_priority': Constants.school_priority2, 'player_preference': Constants.student_preference2[self.player.type]} class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): # boston 1-4 / da 5-8 # boston 9-12 / da 13-16 if self.subsession.round_number < 5: self.group.boston() else: self.group.da() # self.group.set_payoff() class Results(Page): def vars_for_template(self): # print('self.player.type: ', self.player.type) if self.subsession.round_number < 9: return {'student_preference': Constants.student_preference1, 'school_priority': Constants.school_priority1} else: return {'student_preference': Constants.student_preference2, 'school_priority': Constants.school_priority2} class Introduction(Page): def is_displayed(self): return (self.round_number == 1) or (self.round_number == 5) or (self.round_number == 9) or (self.round_number == 13) page_sequence = [Introduction, Submission, ResultsWaitPage, Results] #StartWaitingPage,