from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class SimpleWaitPage(WaitPage): pass class Purchase(Page): def is_displayed(self): return self.player.role() == 'buyer' form_model = 'group' form_fields = ['seller_id'] # class ResultsWaitPage(WaitPage): # def after_all_players_arrive(self): # self.group.set_payoff() class Results(Page): pass class info_chart_01(Page): def is_displayed(self): return self.round_number == Constants.num_rounds def vars_for_template(self): return self.subsession.vars_for_admin_report() class dec_chart_01(Page): form_model = 'player' form_fields = ['inv_dec_01','exp_1'] #def compy(self): # self.round_earnings = 5 def is_displayed(self): return self.round_number == Constants.num_rounds def vars_for_template(self): return self.subsession.vars_for_admin_report() class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): round_earnings = 5 #def results_computation(self): #players = self.get_players() #for p in players: # if inv_dec_01 == 0: # round_earnings = price10_dec # elif inv_dec_01 == 1: # round_earnings = price11_dec #if exp_1 == price11_dec: # _1 = Constants.expectation_payoff #else: # exp_1 = 0 #def determine_payoff(self): # if self.exp_1 = self.price_dec # def expectation_11_choices(self): # choices = [ # self.player.priceexp_01_01, # self.player.priceexp_01_02, # self.player.priceexp_01_03, # self.player.priceexp_01_04, # self.player.priceexp_01_05, # self.player.priceexp_01_06 #] #return choices class personality_01(Page): form_model = 'player' form_fields = ['pers_01_e_1','pers_02_a_1','pers_03_c_1','pers_04_n_1','pers_05_o_1'] class sequence_results(Page): def vars_for_template(self): me = self.player if me.exp_1 == me.price11_dec: me.exp_1_payoff = Constants.expectation_payoff else: me.exp_1_payoff = 0 if me.inv_dec_01 == 1: me.round_earnings = me.price10_dec else: me.round_earnings = me.price11_dec #me.round_earnings = 5 return { 'price11_dec': me.price11_dec, 'exp_1_payoff': me.exp_1_payoff, 'round_earnings': me.round_earnings } class FinalResults(Page): def is_displayed(self): return self.round_number == Constants.num_rounds def vars_for_template(self): return self.subsession.vars_for_admin_report() page_sequence = [ info_chart_01, #personality_01, dec_chart_01, #ResultsWaitPage, sequence_results, FinalResults, #ResultsWaitPage ]