# drEffects, survey from otree.api import Currency as c, currency_range from . import models from ._builtin import Page, WaitPage from .models import Constants from django.conf import settings import time import random import math class surveyWaitPage(WaitPage): def after_all_players_arrive(self): for p in self.subsession.get_players(): p.gender = p.participant.vars['gender'] if p.gender == 0: p.participant.vars['frame_treat'] = random.choice(['Pos', 'Neg', 'No frame']) p.frame_treat = p.participant.vars['frame_treat'] if p.gender == 1: p.participant.vars['frame_treat'] = random.choice(['Pos', 'Neg', 'No frame']) p.frame_treat = p.participant.vars['frame_treat'] if p.gender > 1: p.participant.vars['frame_treat'] = random.choice(['Pos', 'Neg', 'No frame']) p.frame_treat = p.participant.vars['frame_treat'] p.participant.vars['task_order'] = random.randint(1, 6) p.task_order = p.participant.vars['task_order'] p.participant.vars['math_task_B'] = random.randint(0,1) p.math_task_B = p.participant.vars['math_task_B'] p.participant.vars['math_task_C'] = random.randint(0,1) p.math_task_C = p.participant.vars['math_task_C'] class questions1(Page): form_model = models.Player form_fields = ['masculinity','femininity','modern_sexism_1','modern_sexism_2','modern_sexism_3'] def is_displayed(self): return self.player.participant.vars['frame_treat'] != 'No frame' class questions2(Page): form_model = models.Player form_fields = ['collective_1','collective_2','collective_3','collective_4','collective_5','collective_6'] def is_displayed(self): return (self.player.participant.vars['frame_treat'] != 'No frame') & (self.player.gender < 2) class questions3(Page): form_model = models.Player form_fields = ['marginal_1','marginal_2','marginal_3'] def is_displayed(self): return self.player.participant.vars['frame_treat'] != 'No frame' class descrRepFrame(Page): def vars_for_template(self): return { 'frame_treat' : self.player.participant.vars['frame_treat'] } class questions4(Page): form_model = models.Player form_fields = ['guess','self_efficacy_1','self_efficacy_2','self_efficacy_3','self_efficacy_4','self_efficacy_5', 'self_efficacy_6'] def is_displayed(self): return self.player.participant.vars['frame_treat'] != 'No frame' class questions5(Page): form_model = models.Player form_fields = ['inspired_person','inspired_politician1','inspired_politician2','women_concern', 'women_expected','women_feeling','women_proud','expect_discrimination','do_discrimination', 'other_do_discrimination'] def is_displayed(self): return self.player.participant.vars['frame_treat'] != 'No frame' class questions6(Page): form_model = models.Player form_fields = ['self_esteem_1','self_esteem_2','self_esteem_3','self_esteem_4','self_esteem_5','self_esteem_6', 'self_esteem_7'] def is_displayed(self): return self.player.participant.vars['frame_treat'] != 'No frame' page_sequence = [ surveyWaitPage, questions1, questions2, questions3, descrRepFrame, questions4, questions5, questions6 ]