from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import pandas as pd import random class Inicio(Page): pass class Instrucciones(Page): def is_displayed(self): return self.round_number==1 class FinSituacion(Page): def is_displayed(self): return self.round_number==1 class sorteo(Page): def is_displayed(self): return self.round_number==1 class InformedConsent_1(Page): def is_displayed(self): return self.round_number==1 class InformedConsent_2(Page): form_model = 'player' form_fields = ['day','month','year','name','signature','phone','email'] def is_displayed(self): return self.round_number==1 class Situacion1G1(Page): form_model = 'player' form_fields = ['S1G1TA','S1G1TB','S1G1TC','S1G1TD'] def error_message(self, values): if values["S1G1TA"] == values["S1G1TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G1TA"] == values["S1G1TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G1TA"] == values["S1G1TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G1TB"] == values["S1G1TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G1TB"] == values["S1G1TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G1TC"] == values["S1G1TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['A'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv",sep=",") datosa.head() print(datosa.head()) contadorIndividuo=0 index = -99 carda1 = () carda2 = () carda3 = () carda4 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda1=('carda' + str(datosa['card1'][index]) + '.png') carda2=('carda' + str(datosa['card2'][index]) + '.png') carda3=('carda' + str(datosa['card3'][index]) + '.png') carda4=('carda' + str(datosa['card4'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda1=carda1, carda2=carda2, carda3=carda3, carda4=carda4, ) class Situacion1G2(Page): form_model = 'player' form_fields = ['S1G2TA','S1G2TB','S1G2TC','S1G2TD'] def error_message(self, values): if values["S1G2TA"] == values["S1G2TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G2TA"] == values["S1G2TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G2TA"] == values["S1G2TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G2TB"] == values["S1G2TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G2TB"] == values["S1G2TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G2TC"] == values["S1G2TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['A'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv",sep=",") datosa.head() print(datosa.head()) contadorIndividuo=0 index = -99 carda5 = () carda6 = () carda7 = () carda8 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda5=('carda' + str(datosa['card5'][index]) + '.png') carda6=('carda' + str(datosa['card6'][index]) + '.png') carda7=('carda' + str(datosa['card7'][index]) + '.png') carda8=('carda' + str(datosa['card8'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda5=carda5, carda6=carda6, carda7=carda7, carda8=carda8, ) class Situacion1G3(Page): form_model = 'player' form_fields = ['S1G3TA','S1G3TB','S1G3TC','S1G3TD'] def error_message(self, values): if values["S1G3TA"] == values["S1G3TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G3TA"] == values["S1G3TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G3TA"] == values["S1G3TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G3TB"] == values["S1G3TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G3TB"] == values["S1G3TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G3TC"] == values["S1G3TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['A'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda9 = () carda10 = () carda11 = () carda12 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda9 = ('carda' + str(datosa['card9'][index]) + '.png') carda10 = ('carda' + str(datosa['card10'][index]) + '.png') carda11 = ('carda' + str(datosa['card11'][index]) + '.png') carda12 = ('carda' + str(datosa['card12'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda9=carda9, carda10=carda10, carda11=carda11, carda12=carda12, ) class Situacion1G4(Page): form_model = 'player' form_fields = ['S1G4TA','S1G4TB','S1G4TC','S1G4TD'] def error_message(self, values): if values["S1G4TA"] == values["S1G4TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G4TA"] == values["S1G4TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G4TA"] == values["S1G4TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G4TB"] == values["S1G4TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G4TB"] == values["S1G4TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G4TC"] == values["S1G4TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['A'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv",sep=",") datosa.head() print(datosa.head()) contadorIndividuo=0 index = -99 carda13 = () carda14 = () carda15 = () carda16 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda13=('carda' + str(datosa['card13'][index]) + '.png') carda14=('carda' + str(datosa['card14'][index]) + '.png') carda15=('carda' + str(datosa['card15'][index]) + '.png') carda16=('carda' + str(datosa['card16'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda13=carda13, carda14=carda14, carda15=carda15, carda16=carda16, ) class Situacion1G5(Page): form_model = 'player' form_fields = ['S1G5TA','S1G5TB','S1G5TC','S1G5TD'] def error_message(self, values): if values["S1G5TA"] == values["S1G5TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G5TA"] == values["S1G5TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G5TA"] == values["S1G5TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G5TB"] == values["S1G5TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G5TB"] == values["S1G5TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G5TC"] == values["S1G5TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['A'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv",sep=",") datosa.head() print(datosa.head()) contadorIndividuo=0 index = -99 carda17 = () carda18 = () carda19 = () carda20 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda17=('carda' + str(datosa['card17'][index]) + '.png') carda18=('carda' + str(datosa['card18'][index]) + '.png') carda19=('carda' + str(datosa['card19'][index]) + '.png') carda20=('carda' + str(datosa['card20'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda17=carda17, carda18=carda18, carda19=carda19, carda20=carda20, ) class Situacion1G6(Page): form_model = 'player' form_fields = ['S1G6TA','S1G6TB','S1G6TC','S1G6TD'] def error_message(self, values): if values["S1G6TA"] == values["S1G6TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G6TA"] == values["S1G6TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G6TA"] == values["S1G6TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G6TB"] == values["S1G6TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G6TB"] == values["S1G6TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S1G6TC"] == values["S1G6TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['A'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda21 = () carda22 = () carda23 = () carda24 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda21 = ('carda' + str(datosa['card21'][index]) + '.png') carda22 = ('carda' + str(datosa['card22'][index]) + '.png') carda23 = ('carda' + str(datosa['card23'][index]) + '.png') carda24 = ('carda' + str(datosa['card24'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda21=carda21, carda22=carda22, carda23=carda23, carda24=carda24, ) class Situacion2G1(Page): form_model = 'player' form_fields = ['S2G1TA','S2G1TB','S2G1TC','S2G1TD'] def error_message(self, values): if values["S2G1TA"] == values["S2G1TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G1TA"] == values["S2G1TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G1TA"] == values["S2G1TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G1TB"] == values["S2G1TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G1TB"] == values["S2G1TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G1TC"] == values["S2G1TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda25 = () carda26 = () carda27 = () carda28 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda25 = ('carda' + str(datosa['card25'][index]) + '.png') carda26 = ('carda' + str(datosa['card26'][index]) + '.png') carda27 = ('carda' + str(datosa['card27'][index]) + '.png') carda28 = ('carda' + str(datosa['card28'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda25=carda25, carda26=carda26, carda27=carda27, carda28=carda28, ) class Situacion2G2(Page): form_model = 'player' form_fields = ['S2G2TA','S2G2TB','S2G2TC','S2G2TD'] def error_message(self, values): if values["S2G2TA"] == values["S2G2TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G2TA"] == values["S2G2TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G2TA"] == values["S2G2TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G2TB"] == values["S2G2TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G2TB"] == values["S2G2TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G2TC"] == values["S2G2TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda29 = () carda30 = () carda31 = () carda32 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda29 = ('carda' + str(datosa['card29'][index]) + '.png') carda30 = ('carda' + str(datosa['card30'][index]) + '.png') carda31 = ('carda' + str(datosa['card31'][index]) + '.png') carda32 = ('carda' + str(datosa['card32'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda29=carda29, carda30=carda30, carda31=carda31, carda32=carda32, ) class Situacion2G3(Page): form_model = 'player' form_fields = ['S2G3TA','S2G3TB','S2G3TC','S2G3TD'] def error_message(self, values): if values["S2G3TA"] == values["S2G3TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G3TA"] == values["S2G3TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G3TA"] == values["S2G3TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G3TB"] == values["S2G3TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G3TB"] == values["S2G3TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G3TC"] == values["S2G3TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda33 = () carda34 = () carda35 = () carda36 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda33 = ('carda' + str(datosa['card33'][index]) + '.png') carda34 = ('carda' + str(datosa['card34'][index]) + '.png') carda35 = ('carda' + str(datosa['card35'][index]) + '.png') carda36 = ('carda' + str(datosa['card36'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda33=carda33, carda34=carda34, carda35=carda35, carda36=carda36, ) class Situacion2G4(Page): form_model = 'player' form_fields = ['S2G4TA','S2G4TB','S2G4TC','S2G4TD'] def error_message(self, values): if values["S2G4TA"] == values["S2G4TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G4TA"] == values["S2G4TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G4TA"] == values["S2G4TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G4TB"] == values["S2G4TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G4TB"] == values["S2G4TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G4TC"] == values["S2G4TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda37 = () carda38 = () carda39 = () carda40 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda37 = ('carda' + str(datosa['card37'][index]) + '.png') carda38 = ('carda' + str(datosa['card38'][index]) + '.png') carda39 = ('carda' + str(datosa['card39'][index]) + '.png') carda40 = ('carda' + str(datosa['card40'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda37=carda37, carda38=carda38, carda39=carda39, carda40=carda40, ) class Situacion2G5(Page): form_model = 'player' form_fields = ['S2G5TA','S2G5TB','S2G5TC','S2G5TD'] def error_message(self, values): if values["S2G5TA"] == values["S2G5TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G5TA"] == values["S2G5TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G5TA"] == values["S2G5TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G5TB"] == values["S2G5TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G5TB"] == values["S2G5TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G5TC"] == values["S2G5TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda41 = () carda42 = () carda43 = () carda44 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda41 = ('carda' + str(datosa['card41'][index]) + '.png') carda42 = ('carda' + str(datosa['card42'][index]) + '.png') carda43 = ('carda' + str(datosa['card43'][index]) + '.png') carda44 = ('carda' + str(datosa['card44'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda41=carda41, carda42=carda42, carda43=carda43, carda44=carda44, ) class Situacion2G6(Page): form_model = 'player' form_fields = ['S2G6TA','S2G6TB','S2G6TC','S2G6TD'] def error_message(self, values): if values["S2G6TA"] == values["S2G6TB"]: return "Tiene una posición repetida en la tarjeta A y B del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G6TA"] == values["S2G6TC"]: return "Tiene una posición repetida en la tarjeta A y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G6TA"] == values["S2G6TD"]: return "Tiene una posición repetida en la tarjeta A y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G6TB"] == values["S2G6TC"]: return "Tiene una posición repetida en la tarjeta B y C del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G6TB"] == values["S2G6TD"]: return "Tiene una posición repetida en la tarjeta B y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." if values["S2G6TC"] == values["S2G6TD"]: return "Tiene una posición repetida en la tarjeta C y D del ranking. Por favor revise su clasificación y recuerde no repetir puestos." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda45 = () carda46 = () carda47 = () carda48 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda45 = ('carda' + str(datosa['card45'][index]) + '.png') carda46 = ('carda' + str(datosa['card46'][index]) + '.png') carda47 = ('carda' + str(datosa['card47'][index]) + '.png') carda48 = ('carda' + str(datosa['card48'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda45=carda45, carda46=carda46, carda47=carda47, carda48=carda48, ) class Situacion2G8(Page): form_model = 'player' form_fields = ['S2G8P1','S2G8P2','S2G8P3','S2G8P4'] def error_message(self, values): if values["S2G8P1"] == values["S2G8P2"]: return "Tiene una tarjeta repetida en la posición 1 y 2 del ranking. Por favor revise su clasificación y recuerde no repetir tarjetas." if values["S2G8P1"] == values["S2G8P3"]: return "Tiene una tarjeta repetida en la posición 1 y 3 del ranking. Por favor revise su clasificación y recuerde no repetir tarjetas." if values["S2G8P1"] == values["S2G8P4"]: return "Tiene una tarjeta repetida en la posición 1 y 4 del ranking. Por favor revise su clasificación y recuerde no repetir tarjetas." if values["S2G8P2"] == values["S2G8P3"]: return "Tiene una tarjeta repetida en la posición 2 y 3 del ranking. Por favor revise su clasificación y recuerde no repetir tarjetas." if values["S2G8P2"] == values["S2G8P4"]: return "Tiene una tarjeta repetida en la posición 2 y 4 del ranking. Por favor revise su clasificación y recuerde no repetir tarjetas." if values["S2G8P3"] == values["S2G8P4"]: return "Tiene una tarjeta repetida en la posición 3 y 4 del ranking. Por favor revise su clasificación y recuerde no repetir tarjetas." def is_displayed(self): return self.round_number == self.participant.vars['task_rounds']['B'] def vars_for_template(self): datosa = pd.read_csv("voting_sections1.csv", sep=",") datosa.head() print(datosa.head()) contadorIndividuo = 0 index = -99 carda61 = () carda62 = () carda63 = () carda64 = () for x in datosa['id_player']: index = contadorIndividuo if self.participant.label == str(datosa['id_player'][index]): carda61 = ('carda' + str(datosa['card61'][index]) + '.png') carda62 = ('carda' + str(datosa['card62'][index]) + '.png') carda63 = ('carda' + str(datosa['card63'][index]) + '.png') carda64 = ('carda' + str(datosa['card64'][index]) + '.png') else: pass contadorIndividuo = contadorIndividuo + 1 return dict( carda61=carda61, carda62=carda62, carda63=carda63, carda64=carda64, ) class Questionnaire(Page): form_model = "player" form_fields = ["edad","genero","ingresos","carrera","estudiante","semestre","email2","phone2"] def is_displayed(self): return self.round_number==Constants.num_rounds class Questionnaire_B(Page): form_model = "player" form_fields = ["educ_madre","educ_padre","household_fin","afirmacion1","estrato","orientacion_politica","preferencias_bienestar","preferencias_distribucionriqueza"] def is_displayed(self): return self.round_number==Constants.num_rounds class Questionnaire_B2(Page): form_model = "player" form_fields = ["afirmacion2","afirmacion3","afirmacion4"] def is_displayed(self): return self.player.afirmacion1==1 and self.round_number==Constants.num_rounds class MotivacionPerfTecnicoA(Page): def is_displayed(self): return self.player.orden== 'A' and self.round_number==Constants.num_rounds form_model = "player" form_fields = ["motivacion_tecnico","rank1progra","rank2progra","rank3progra"] class MotivacionAltoPerfA(Page): def is_displayed(self): return self.player.orden== 'A' and self.round_number==Constants.num_rounds form_model = "player" form_fields = ["motivacion_altoperf","rank1Alto","rank2Alto","rank3Alto"] class MotivacionAltoPerfB(Page): def is_displayed(self): return self.player.orden== 'B' and self.round_number==Constants.num_rounds form_model = "player" form_fields = ["motivacion_altoperf","rank1Alto","rank2Alto","rank3Alto"] class MotivacionPerfTecnicoB(Page): def is_displayed(self): return self.player.orden == 'B' and self.round_number == Constants.num_rounds form_model = "player" form_fields = ["motivacion_tecnico", "rank1progra", "rank2progra", "rank3progra"] class Piloto(Page): form_model = "player" form_fields = ["confusas","claras","reaccion"] def is_displayed(self): return self.round_number==Constants.num_rounds class FinalMessage(Page): def is_displayed(self): return self.round_number==Constants.num_rounds page_sequence = [ Instrucciones, sorteo, InformedConsent_1, InformedConsent_2, Situacion1G1, Situacion1G2, Situacion1G3, Situacion1G4, Situacion1G5, Situacion1G6, Situacion2G1, Situacion2G2, Situacion2G3, Situacion2G4, Situacion2G5, Situacion2G6, FinSituacion, Questionnaire, MotivacionPerfTecnicoA, MotivacionAltoPerfA, MotivacionAltoPerfB, MotivacionPerfTecnicoB, Questionnaire_B, Questionnaire_B2, FinalMessage ]