from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Results(Page): def vars_for_template(self): this_round = self.participant.vars['l_dict'][self.participant.vars["relevant"]] # for template payoffs_a = this_round["payoffs"][0] payoffs_b = this_round["payoffs"][1] colors_a = this_round["colors"][0] colors_b = this_round["colors"][1] option_a = this_round['A_skewed'] option_b = 1 - option_a treatment = this_round['treatment'] chosen_option = this_round['choice'] checked_A = 'checked' checked_B = '' payoff = this_round['r_payoff_a'] if chosen_option == 'B': checked_B = 'checked' checked_A = '' payoff = this_round['r_payoff_b'] col_1 = Constants.translate_colors([colors_a, colors_b]) colors_a_c, colors_b_c = col_1[0], col_1[1] realized_color = this_round['realized_color'] realized_color_c = Constants.translate_colors([[realized_color, realized_color], [realized_color, realized_color]])[0][0] return dict( row_a=zip(payoffs_a, colors_a, colors_a_c), row_b=zip(payoffs_b, colors_b, colors_b_c), treatment=treatment, option_a=option_a, option_b=option_b, width=60, chosen_option=chosen_option, realized_color=realized_color, realized_color_c=realized_color_c, payoff=payoff, checked_A=checked_A, checked_B=checked_B, add_payoff=round(self.participant.vars['payoff'] * 0.4, 1), ) class FinalResults(Page): def vars_for_template(self): return dict( payoff=round(self.participant.vars['final_payoff'], 1), add_payoff=round(self.participant.vars['payoff']*0.4, 1), gg=round(self.participant.vars['selected_for_payoff']*self.participant.vars['payoff']*0.4 + 9, 1), selected_for_payoff=self.participant.vars['selected_for_payoff'] ) class Demographics(Page): form_model = 'player' form_fields = ['Age', 'gender', 'Gender_other', 'Education', 'HH_income', 'Occupation', 'Marriage'] class Risk(Page): form_model = 'player' form_fields = ['Q_risk'] class Cognitive(Page): form_model = 'player' form_fields = ['Crt_Bat', 'Crt_Widget', 'Crt_Lake', 'Know'] class Regret_Loss_Gain(Page): form_model = 'player' form_fields = ['Regret_G', 'Regret_L'] class Regret(Page): form_model = 'player' form_fields = ['Regret_1', 'Regret_2', 'Regret_3', 'Regret_4', 'Regret_5'] class Start(Page): pass class End(Page): pass class Numeracy(Page): form_model = 'player' form_fields = ['N_1', 'N_2', 'N_3', 'N_4', 'N_5'] # page_sequence = [Start, Cognitive, Regret, Risk, Regret_Loss_Gain, Numeracy, Demographics, Results, End] page_sequence = [Start, Demographics, Results, FinalResults] # page_sequence = [Results, FinalResults]