from .models import * class MyWaitPage(WaitPage): after_all_players_arrive = 'set_start_data' class Bid(Page): form_model = 'player' form_fields = ['buy_amount_type1', 'number_Type1', 'sell_amount_type1', 'number_sell_Type1', 'buy_amount_type2', 'number_Type2', 'sell_amount_type2', 'number_sell_Type2'] def error_message(self, values): player = self.player if values['buy_amount_type1']*values['number_Type1']+values['buy_amount_type2']*values['number_Type2'] > player.available_funds: return 'Your proposed spending must be less than your current funds.' if values['number_sell_Type1'] > player.owned_type1: return 'Your proposed selling number of Type 1 assets must be less than or equal to the number of assets that you own.' if values['number_sell_Type2'] > player.owned_type2: return 'Your proposed selling number of Type 2 assets must be less than or equal to the number of assets that you own.' if values['buy_amount_type1'] >= values['sell_amount_type1'] and values['number_sell_Type1'] > 0 and values['number_Type1'] > 0: return 'Your asking price for Type 1 assets to buy must be lower than your asking price to sell.' if values['buy_amount_type2'] >= values['sell_amount_type2'] and values['number_sell_Type2'] > 0 and values['number_Type2'] > 0: return 'Your asking price for Type 2 assets to buy must be lower than your asking price to sell.' class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_winner_Type1' class ResultsWaitPagept2(WaitPage): after_all_players_arrive = 'set_winner_Type2' class Results(Page): form_model = 'player' class MyWaitPage3(WaitPage): after_all_players_arrive = 'create_outcome' class MyPage(Page): form_model = 'player' class MyWaitPage2(WaitPage): after_all_players_arrive = 'set_end_data' class MyWaitPage4(WaitPage): after_all_players_arrive = 'set_final_data' page_sequence = [MyWaitPage, Bid, ResultsWaitPage, ResultsWaitPagept2, Results, MyWaitPage3, MyPage, MyWaitPage2, MyWaitPage4]