from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) import pandas as pd import random from . import widgets as school_choice_widgets author = 'Andrés Felipe Barinas' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'Ranking' players_per_group = None tasks = ['A', 'B','C'] num_rounds = len(tasks) class Subsession(BaseSubsession): def creating_session(self): if self.round_number == 1: for p in self.get_players(): round_numbers = list(range(1, Constants.num_rounds+1)) random.shuffle(round_numbers) p.participant.vars['task_rounds'] = dict(zip(Constants.tasks, round_numbers)) class Group(BaseGroup): pass class Player(BasePlayer): day = models.IntegerField(min=1, max=31) month = models.IntegerField(min=1, max=12) year = models.IntegerField(max=2020, min=2020, default=2020) name = models.StringField() signature = models.StringField() phone = models.StringField() email= models.StringField() order=models.StringField() order2 = models.StringField() order3 = models.StringField() def order_error_message(self, orden): if "654564" in orden: return 'Orden no válido' def order2_error_message(self, orden): if "654564" in orden: return 'Orden no válido' def order3_error_message(self, orden): if "654564" in orden: return 'Orden no válido' edad=models.IntegerField(label="") q2=models.IntegerField(choices=[[0,"Masculino"],[1,"Femenino"]], widget=widgets.RadioSelect) q3=models.IntegerField(label="") q4=models.StringField(label="") q5=models.IntegerField(choices=[ [0,"Pregrado"], [1,"Posgrado"], ], widget=widgets.RadioSelect ) q6 = models.IntegerField(label="") q7 = models.IntegerField(choices=[[0, "Sí"], [1, "No"]], widget=widgets.RadioSelect) q8 = models.IntegerField(choices=[[0, "Sí"], [1, "No"]], widget=widgets.RadioSelect) q9 = models.IntegerField(min=0, max=100) q10 = models.IntegerField(label="") q11 = models.IntegerField( choices=[[0, "0"], [1, "1"], [2, "2"], [3, "3"], [4, "4"], [5, "5"], [6, "6"], [7, "7"], [8, "8"], [9, "9"], [10, "10"]], widget=widgets.RadioSelectHorizontal) q12 = models.IntegerField( choices=[[0, "0"], [1, "1"], [2, "2"], [3, "3"], [4, "4"], [5, "5"], [6, "6"], [7, "7"], [8, "8"], [9, "9"], [10, "10"]], widget=widgets.RadioSelectHorizontal) q13 = models.IntegerField( choices=[[0, "0"], [1, "1"], [2, "2"], [3, "3"], [4, "4"], [5, "5"], [6, "6"], [7, "7"], [8, "8"], [9, "9"], [10, "10"]], widget=widgets.RadioSelectHorizontal) q14 = models.IntegerField( choices=[[0, "0"], [1, "1"], [2, "2"], [3, "3"], [4, "4"], [5, "5"], [6, "6"], [7, "7"], [8, "8"], [9, "9"], [10, "10"]], widget=widgets.RadioSelectHorizontal) q15 = models.IntegerField( choices=[[0, "1"], [1, "2"], [2, "3"], [3, "4"], [4, "5"], [5, "6"], [6, "No sabe/No Responde"]], widget=widgets.RadioSelect) q16 = models.LongStringField(label="") q17 = models.LongStringField(label="")