from .models import * class Intro(Page): form_model = 'player' class Validation(Page): form_model = 'player' form_fields = ['validation'] class ValidationBackup(Page): form_model = 'player' form_fields = ['validation'] def is_displayed(self): player = self.player return player.validation != 10 class Send(Page): form_model = 'group' form_fields = ['sent_amount'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 1 return player.validation == 10 class WaitForP1(WaitPage): def is_displayed(self): player = self.player return player.validation == 10 class Send_Back(Page): form_model = 'group' form_fields = ['sent_back_amount'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 2 def vars_for_template(self): group = self.group tripled_amount = group.sent_amount * Constants.multiplier sent_back_amount_max = tripled_amount return dict( tripled_amount=tripled_amount, sent_back_amount_max = sent_back_amount_max ) class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_payoffs' class Results(Page): form_model = 'player' page_sequence = [Intro, Validation, ValidationBackup, Send, WaitForP1, Send_Back, ResultsWaitPage, Results]