from .models import * class Instructions_and_Proposed_extraction(Page): form_model = 'player' form_fields = ['extraction'] class ExtractWaitPage(WaitPage): after_all_players_arrive = 'set_extractions' class HpayoffWaitPage(WaitPage): after_all_players_arrive = 'set_hypothetical_payoffs' class Proposed_extractions(Page): form_model = 'player' def vars_for_template(self): group = self.group player = self.player contrib_of_others = [p.extraction for p in player.get_others_in_group()] return dict(extractions_others=contrib_of_others) class Hpayoff_and_vote(Page): form_model = 'player' form_fields = ['vote'] def vars_for_template(self): group = self.group player = self.player hgain_of_others = [p.hpayoff for p in player.get_others_in_group()] return dict(hpayoffs_others=hgain_of_others) class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_payoffs' class Real_extractions_Waitpage(WaitPage): after_all_players_arrive = 'set_real_extractions' class Results(Page): form_model = 'player' def vars_for_template(self): group = self.group player = self.player players = group.get_players() extractions = [p.extraction for p in players] max_proposed = sum(extractions) return dict(extractions_proposed=max_proposed) class Payoffs_others(Page): form_model = 'player' def vars_for_template(self): group = self.group player = self.player payoff_of_others = [p.payoff for p in player.get_others_in_group()] return dict(gains_others=payoff_of_others) page_sequence = [Instructions_and_Proposed_extraction, ExtractWaitPage, HpayoffWaitPage, Proposed_extractions, Hpayoff_and_vote, ResultsWaitPage, Real_extractions_Waitpage, Results, Payoffs_others]