from .models import * class NameInput(Page): form_model = 'group' form_fields = ['name'] class Lender_Page(Page): form_model = 'group' form_fields = ['lending'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 1 class BorrowerWait(WaitPage): pass class Borrower1(Page): form_model = 'group' form_fields = ['borrower1'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 2 and group.lending class Borrower2(Page): form_model = 'group' form_fields = ['borrower2'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 3 and group.lending class ResultsWaitPage(WaitPage): after_all_players_arrive = 'monitoring_logic' class ScoreWaitPage(WaitPage): after_all_players_arrive = 'leaderboard_logic' class Results(Page): form_model = 'player' def vars_for_template(self): session = self.session current = session.vars['result'][-1] return dict(round_number = current[0], lending = current[1], initial_project1 = current[2], monitoring1 = current[3], final_project1 = current[4], initial_project2 = current[5], monitoring2 = current[6], final_project2 = current[7] ) class ResultsSummary(Page): form_model = 'player' def is_displayed(self): player = self.player return player.round_number == Constants.num_rounds def vars_for_template(self): session = self.session results = session.vars['result'] return dict(results = results) page_sequence = [NameInput, Lender_Page, BorrowerWait, Borrower1, Borrower2, ResultsWaitPage, ScoreWaitPage, Results, ResultsSummary]