from .models import * class Initial_Page(Page): form_model = 'player' def is_displayed(self): player = self.player return player.round_number == 1 class Make_ask(Page): form_model = 'player' form_fields = ['ask_amount'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 1 def before_next_page(self): timeout_happened = self.timeout_happened session = self.session group = self.group player = self.player session.ask_amount = player.ask_amount if group.round_number == 2: session.seller_diff = session.initial_ask - player.ask_amount else: session.initial_ask = player.ask_amount class Make_bid(Page): form_model = 'player' form_fields = ['bid_amount'] def is_displayed(self): group = self.group player = self.player return player.id_in_group == 2 def before_next_page(self): timeout_happened = self.timeout_happened session = self.session group = self.group player = self.player session.bid_amount = player.bid_amount if group.round_number == 2: session.buyer_diff = session.initial_bid - player.bid_amount else: session.initial_bid = player.bid_amount class Waitpage(WaitPage): wait_for_all_groups = True title_text = 'Please, wait the other player' class Results(Page): form_model = 'player' class CollectInfo(Page): form_model = 'player' form_fields = ['player_gender', 'player_age', 'player_experience'] def is_displayed(self): player = self.player return player.round_number == Constants.num_rounds page_sequence = [Initial_Page, Make_ask, Make_bid, Waitpage, Results, CollectInfo]