from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import time class p0_set_cookies(Page): timeout_seconds = 0 def before_next_page(self): # Save the cookie to be used in case the user disconnects parti_url = self.request.build_absolute_uri( self.player.participant._start_url()) self.request.session["otree"] = parti_url self.request.session.set_expiry(2 * 60 * 60) # Set the cookie for X hours print('cookie installé pour 2h') def is_displayed(self): return self.round_number == 1 ########################################################################################## # CONSIGNE ########################################################################################## class p1_consigne(Page): def before_next_page(self): self.player.groupage() def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return self.player.matrix_i() ########################################################################################## # START ########################################################################################## class p2_start(Page): def before_next_page(self): self.participant.vars['expiry'] = time.time() + Constants.c_Timer def vars_for_template(self): return self.player.reinit_total() def is_displayed(self): return self.round_number == 1 ########################################################################################## # TACHE ########################################################################################## class p3_task(Page): form_model = 'player' form_fields = ['suj_count0'] def get_timeout_seconds(self): return self.participant.vars['expiry'] - time.time() def vars_for_template(self): return self.player.matrix_i() def before_next_page(self): self.player.count_correct() def is_displayed(self): return self.participant.vars['expiry'] - time.time() > 1 or \ self.participant.vars['expiry'] - time.time() > 1 or \ self.participant.vars['expiry'] - time.time() > 1 ########################################################################################## # PAGE ########################################################################################## page_sequence = [p0_set_cookies, p1_consigne, p2_start, p3_task, ]