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): game = self.participant.vars['games'][self.participant.vars['payoff_relevant']] A_skewed = self.participant.vars['choice_dict'][self.participant.vars['payoff_relevant']]['A_skewed'] pos = self.participant.vars['choice_dict'][self.participant.vars['payoff_relevant']]['pos'] pp, oo_1, oo_2 = list(), list(), list() for i in range(len(game)): pp.append(game[i][0]) oo_1.append(game[i][pos[0]]) oo_2.append(game[i][pos[1]]) fields_from, fields_to = Constants.fields(pp)[0], Constants.fields(pp)[1] skewed = self.participant.vars['choice_dict'][self.participant.vars['payoff_relevant']]['skewed'] if A_skewed == skewed: chosen_option = 'A' checked_A = 'checked' checked_B = '' else: chosen_option = 'B' checked_B = 'checked' checked_A = '' return dict( pp=pp, oo_1=oo_1, oo_2=oo_2, treatment=self.participant.vars['treatment'], fields=zip(fields_from, fields_to, pp), fields_from=fields_from, fields_to=fields_to, payoff=self.participant.vars['payoff'], skewed=skewed, chosen_option=chosen_option, realized_field=self.participant.vars['realized_field'], checked_A=checked_A, checked_B=checked_B, ) class Demographics(Page): form_model = 'player' form_fields = ['Age', 'gender', 'Gender_other', 'Nation', 'Major', 'Major_other', 'Education', 'HH_income', 'Work'] 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 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]