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 completion_code(Page): def is_displayed(self): return self.round_number == Constants.num_rounds 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 info_chart_02(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 info_chart_03(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 info_chart_04(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 info_chart_05(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 info_chart_06(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 info_chart_07(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 info_chart_08(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 info_chart_09(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 info_chart_10(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'] #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 dec_chart_02(Page): form_model = 'player' form_fields = ['inv_dec_02'] #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 dec_chart_03(Page): form_model = 'player' form_fields = ['inv_dec_03'] #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 dec_chart_04(Page): form_model = 'player' form_fields = ['inv_dec_04'] #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 dec_chart_05(Page): form_model = 'player' form_fields = ['inv_dec_05'] #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 dec_chart_06(Page): form_model = 'player' form_fields = ['inv_dec_06', '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 dec_chart_07(Page): form_model = 'player' form_fields = ['inv_dec_07', 'exp_2'] #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 dec_chart_08(Page): form_model = 'player' form_fields = ['inv_dec_08', 'exp_3'] #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 dec_chart_09(Page): form_model = 'player' form_fields = ['inv_dec_09', 'exp_4'] #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 dec_chart_10(Page): form_model = 'player' form_fields = ['inv_dec_10', 'exp_5'] #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 class last_page(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 me.opt_pes = me.lotr_01 + me.lotr_03 + me.lotr_04 + me.lotr_07 + me.lotr_10 me.open_total = me.pers_05_o_2 + me.pers_10_o_3 + me.pers_15_o_4 + me.pers_20_o_5 + me.pers_25_o_7 + me.pers_30_o_8 + me.pers_35_o_9 + me.pers_40_o_10 + me.pers_41_o_11 + me.pers_44_o_11 me.open_avg = me.open_total / 10 me.con_total = me.pers_03_c_1 + me.pers_08_c_2 + me.pers_13_c_4 + me.pers_18_c_5 + me.pers_23_c_6 + me.pers_28_c_7 + me.pers_33_c_9 +me.pers_38_c_10 + me.pers_43_c_11 me.con_avg = me.con_total / 9 me.extra_total = me.pers_01_e_1 + me.pers_06_e_2 + me.pers_11_e_3 + me.pers_16_e_4 + me.pers_21_e_6 + me.pers_26_e_7 + me.pers_31_e_8 + me.pers_36_e_9 me.extra_avg = me.extra_total / 8 me.agree_total = me.pers_02_a_1 + me.pers_07_a_2 + me.pers_12_a_3 + me.pers_17_a_5 + me.pers_22_a_6 + me.pers_27_a_7 + me.pers_32_a_8 + me.pers_37_a_10 + me.pers_42_a_11 me.agree_avg = me.agree_total / 9 me.neuro_total = me.pers_04_n_1 + me.pers_09_n_3 + me.pers_14_n_4 + me.pers_19_n_5 + me.pers_24_n_6 + me.pers_29_n_8 + me.pers_34_n_9 + me.pers_39_n_10 me.neuro_avg = me.neuro_total / 8 return { 'opt_pes': me.opt_pes } #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 optimism_and_pessimism(Page): form_model = 'player' form_fields = ['lotr_01', 'lotr_02', 'lotr_03', 'lotr_04', 'lotr_05', 'lotr_06', 'lotr_07', 'lotr_08', 'lotr_09', 'lotr_10'] #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 # me.opt_pess = me.lotr_01 + me.lotr_03 + me.lotr_04 + me.lotr_07 + me.lotr_10 # return { # 'opt_pess': me.opt_pess #} 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'] class personality_02(Page): form_model = 'player' form_fields = ['pers_05_o_2', 'pers_06_e_2', 'pers_07_a_2', 'pers_08_c_2'] class personality_03(Page): form_model = 'player' form_fields = ['pers_09_n_3', 'pers_10_o_3', 'pers_11_e_3', 'pers_12_a_3'] class personality_04(Page): form_model = 'player' form_fields = ['pers_13_c_4', 'pers_14_n_4', 'pers_15_o_4', 'pers_16_e_4'] class personality_05(Page): form_model = 'player' form_fields = ['pers_17_a_5', 'pers_18_c_5', 'pers_19_n_5', 'pers_20_o_5'] class personality_06(Page): form_model = 'player' form_fields = ['pers_21_e_6', 'pers_22_a_6', 'pers_23_c_6', 'pers_24_n_6'] class personality_07(Page): form_model = 'player' form_fields = ['pers_25_e_7', 'pers_26_a_7', 'pers_27_c_7', 'pers_28_n_7'] class personality_08(Page): form_model = 'player' form_fields = ['pers_29_o_8', 'pers_30_e_8', 'pers_31_a_8', 'pers_32_c_8'] class personality_09(Page): form_model = 'player' form_fields = ['pers_33_n_9', 'pers_34_o_9', 'pers_35_e_9', 'pers_36_a_9'] class personality_10(Page): form_model = 'player' form_fields = ['pers_37_c_10', 'pers_38_n_10', 'pers_39_o_10', 'pers_40_e_10'] class personality_11(Page): form_model = 'player' form_fields = ['pers_41_a_11', 'pers_42_c_11', 'pers_43_n_11', 'pers_44_o_11'] class instructions(Page): def is_displayed(self): return self.round_number == 1 class eckel_grossman(Page): form_model = 'player' form_fields = ['eg_choice'] class intro(Page): def is_displayed(self): return self.round_number == 1 class sequence_results_01(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_01 = me.price_10_01_d else: me.round_earnings_01 = me.price_11_01_d me.game_earnings_01 = me.round_earnings_01 #me.round_earnings = 5 return { 'price_11_01_d': me.price_11_01_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_01': me.round_earnings_01, 'game_earnings_01': me.game_earnings_01 } class sequence_results_02(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_02 == 1: me.round_earnings_02 = me.price_10_02_d else: me.round_earnings_02 = me.price_11_02_d me.game_earnings_02 = me.game_earnings_01 + me.round_earnings_02 #me.round_earnings = 5 return { 'price_11_02_d': me.price_11_02_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_02': me.round_earnings_02, 'game_earnings_02': me.game_earnings_02 } class sequence_results_03(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_03 == 1: me.round_earnings_03 = me.price_10_03_d else: me.round_earnings_03 = me.price_11_03_d me.game_earnings_03 = me.game_earnings_02 + me.round_earnings_03 #me.round_earnings = 5 return { 'price_11_03_d': me.price_11_03_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_03': me.round_earnings_03, 'game_earnings_03': me.game_earnings_03 } class sequence_results_04(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_04 == 1: me.round_earnings_04 = me.price_10_04_d else: me.round_earnings_04 = me.price_11_04_d me.game_earnings_04 = me.game_earnings_03 + me.round_earnings_04 #me.round_earnings = 5 return { 'price_11_04_d': me.price_11_04_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_04': me.round_earnings_04, 'game_earnings_04': me.game_earnings_04 } class sequence_results_05(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_05 == 1: me.round_earnings_05 = me.price_10_05_d else: me.round_earnings_05 = me.price_11_05_d me.game_earnings_05 = me.game_earnings_04 + me.round_earnings_05 #me.round_earnings = 5 return { 'price_11_05_d': me.price_11_05_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_05': me.round_earnings_05, 'game_earnings_05': me.game_earnings_05 } class sequence_results_06(Page): def vars_for_template(self): me = self.player if me.exp_1 == me.price_11_06_d: me.exp_1_payoff = Constants.expectation_payoff else: me.exp_1_payoff = 0 if me.inv_dec_06 == 1: ## we sold if me.inv_or_exp_1 == 0: ## inv dec was chosen me.round_earnings_06 = me.price_10_06_d me.ie_1_label = "investment decision." else: ## expectation was chosen me.round_earnings_06 = me.exp_1_payoff me.ie_1_label = "guess of final price." else: ## we held if me.inv_or_exp_1 == 0: ## inv dec was chosen me.round_earnings_06 = me.price_11_06_d me.ie_1_label = "investment decision." else: ## expectation was chosen me.round_earnings_06 = me.exp_1_payoff me.ie_1_label = "guess of final price." me.game_earnings_06 = me.game_earnings_05 + me.round_earnings_06 return { 'price_11_06_d': me.price_11_06_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_06': me.round_earnings_06, 'game_earnings_06': me.game_earnings_06, 'ie_1_label': me.ie_1_label } class sequence_results_07(Page): def vars_for_template(self): me = self.player if me.exp_2 == me.price_11_07_d: me.exp_2_payoff = Constants.expectation_payoff else: me.exp_2_payoff = 0 if me.inv_dec_07 == 1: ## we sold if me.inv_or_exp_2 == 0: ## inv dec was chosen me.round_earnings_07 = me.price_10_07_d me.ie_2_label = "investment decision." else: ## expectation was chosen me.round_earnings_07 = me.exp_2_payoff me.ie_2_label = "guess of final price." else: ## we held if me.inv_or_exp_2 == 0: ## inv dec was chosen me.round_earnings_07 = me.price_11_07_d me.ie_2_label = "investment decision." else: ## expectation was chosen me.round_earnings_07 = me.exp_7_payoff me.ie_2_label = "guess of final price." me.game_earnings_07 = me.game_earnings_06 + me.round_earnings_07 return { 'price_11_07_d': me.price_11_07_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_07': me.round_earnings_07, 'game_earnings_07': me.game_earnings_07, 'ie_2_label': me.ie_2_label } class sequence_results_08(Page): def vars_for_template(self): me = self.player if me.exp_3 == me.price_11_08_d: me.exp_3_payoff = Constants.expectation_payoff else: me.exp_3_payoff = 0 if me.inv_dec_08 == 1: ## we sold if me.inv_or_exp_3 == 0: ## inv dec was chosen me.round_earnings_08 = me.price_10_08_d me.ie_3_label = "investment decision." else: ## expectation was chosen me.round_earnings_08 = me.exp_3_payoff me.ie_3_label = "guess of final price." else: ## we held if me.inv_or_exp_3 == 0: ## inv dec was chosen me.round_earnings_08 = me.price_11_08_d me.ie_3_label = "investment decision." else: ## expectation was chosen me.round_earnings_08 = me.exp_8_payoff me.ie_3_label = "guess of final price." me.game_earnings_08 = me.game_earnings_07 + me.round_earnings_08 return { 'price_11_08_d': me.price_11_08_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_08': me.round_earnings_08, 'game_earnings_08': me.game_earnings_08, 'ie_3_label': me.ie_3_label } class sequence_results_09(Page): def vars_for_template(self): me = self.player if me.exp_4 == me.price_11_09_d: me.exp_4_payoff = Constants.expectation_payoff else: me.exp_4_payoff = 0 if me.inv_dec_09 == 1: ## we sold if me.inv_or_exp_4 == 0: ## inv dec was chosen me.round_earnings_09 = me.price_10_09_d me.ie_4_label = "investment decision." else: ## expectation was chosen me.round_earnings_09 = me.exp_4_payoff me.ie_4_label = "guess of final price." else: ## we held if me.inv_or_exp_4 == 0: ## inv dec was chosen me.round_earnings_09 = me.price_11_09_d me.ie_4_label = "investment decision." else: ## expectation was chosen me.round_earnings_09 = me.exp_4_payoff me.ie_4_label = "guess of final price." me.game_earnings_09 = me.game_earnings_08 + me.round_earnings_09 return { 'price_11_09_d': me.price_11_09_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_09': me.round_earnings_09, 'game_earnings_09': me.game_earnings_09, 'ie_4_label': me.ie_4_label } class sequence_results_10(Page): def vars_for_template(self): me = self.player if me.exp_5 == me.price_11_10_d: me.exp_5_payoff = Constants.expectation_payoff else: me.exp_5_payoff = 0 if me.inv_dec_10 == 1: ## we sold if me.inv_or_exp_5 == 0: ## inv dec was chosen me.round_earnings_05 = me.price_10_10_d me.ie_5_label = "investment decision." else: ## expectation was chosen me.round_earnings_10 = me.exp_5_payoff me.ie_5_label = "guess of final price." else: ## we held if me.inv_or_exp_5 == 0: ## inv dec was chosen me.round_earnings_10 = me.price_11_10_d me.ie_5_label = "investment decision." else: ## expectation was chosen me.round_earnings_10 = me.exp_5_payoff me.ie_5_label = "guess of final price." me.game_earnings_10 = me.game_earnings_09 + me.round_earnings_10 return { 'price_11_10_d': me.price_11_10_d, #'exp_1_payoff': me.exp_1_payoff, 'round_earnings_10': me.round_earnings_10, 'game_earnings_10': me.game_earnings_10, 'ie_5_label': me.ie_5_label } class survey_01(Page): form_model = 'player' form_fields = ['investor_experience','gambling_frequency'] 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 = [ #eckel_grossman, #survey_01, #intro, #instructions, #info_chart_01, #personality_01, #dec_chart_01, #sequence_results_01, #info_chart_02, #personality_02, #dec_chart_02, #sequence_results_02, #info_chart_03, #personality_03, #dec_chart_03, #sequence_results_03, #info_chart_04, #personality_04, #dec_chart_04, #sequence_results_04, #info_chart_05, #personality_05, #dec_chart_05, #sequence_results_05, #info_chart_06, #personality_06, #dec_chart_06, #sequence_results_06, #info_chart_07, #personality_07, #dec_chart_07, #sequence_results_07, #info_chart_08, #personality_08, #dec_chart_08, #sequence_results_08, #info_chart_09, #personality_09, #dec_chart_09, #sequence_results_09, #info_chart_10, #personality_10, #dec_chart_10, #sequence_results_10, #personality_11, #ResultsWaitPage, #FinalResults, #optimism_and_pessimism, #last_page, completion_code ]