from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): form_model = 'player' def is_displayed(self): return self.round_number == 1 return True class Consentimiento(Page): form_model = 'player' form_fields = ['nombre', 'cedula', 'cedulaDe'] def error_message(self, values): print('values is', values) a = [k for k in values['nombre'] if k.isdigit()] if a: return 'El nombre debe ser una cadena de caracteres sin numeros' if type(values['cedula']) != int: return 'La cedula solo debe contener numeros' b = [k for k in values['cedulaDe'] if k.isdigit()] if b: return 'El municipio debe ser una cadena de caracteres sin numeros' if values['cedula'] > 999999999999: return 'La cedula no puede exeder los 12 caracteres/numeros' def is_displayed(self): return self.round_number == 1 return True class Instrucciones2(Page): form_model = 'player' def is_displayed(self): return self.round_number == 1 return True class Inversion(Page): form_model = 'player' form_fields = ['inversion'] def is_displayed(self): self.group.calculosIniciales() return True class ResultsWaitPage(WaitPage): title_text = 'Espera de resultados' body_text = 'Esperando que todos los jugadores realicen su inversión...' def after_all_players_arrive(self): self.group.calculosGrupo() class consentimientoWaitPage(WaitPage): title_text = 'Espera la firma de consentimiento de todos los jugadores' body_text = 'Esperando que todos los jugadores esten listos...' def is_displayed(self): return self.round_number == 1 return True def after_all_players_arrive(self): #self.player.calculosTotales() #self.group.calculosIniciales() return True class Results(Page): form_model = 'player' def vars_for_template(self): precio = [] años = [] for g in self.group.in_all_rounds(): precio.append(g.precio) años.append(g.round_number) print(precio) print(años) return dict( precio=precio, años = años, ) page_sequence = [ Introduction, Consentimiento, consentimientoWaitPage, Instrucciones2, Inversion, ResultsWaitPage, Results, ]