from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class p1_instru(Page): def is_displayed(self): return self.round_number == 1 class p2_Q1_questionnaire(Page): form_model = 'player' form_fields = ['Q1'] def error_message(self, values): if values['Q1'] != 1 : self.player.FAUX_Q1 = 1 return 'Vous avez fait une erreur. La réponse est : " "' elif values['Q1'] is None : return 'Vous n\'avez pas répondu. Veuillez indiquer votre réponse' def is_displayed(self): return self.round_number == 1 class p2_Q2_questionnaire(Page): form_model = 'player' form_fields = ['Q2'] def error_message(self, values): if values['Q2'] != 1 : self.player.FAUX_Q2 = 1 return 'Vous avez fait une erreur. La réponse est : " "' elif values['Q2'] is None : return 'Vous n\'avez pas répondu. Veuillez indiquer votre réponse' def is_displayed(self): return self.round_number == 1 class p2_Q3_questionnaire(Page): form_model = 'player' form_fields = ['Q3'] def error_message(self, values): if values['Q3'] != 1 : self.player.FAUX_Q3 = 1 return 'Vous avez fait une erreur. La réponse est : " "' elif values['Q3'] is None : return 'Vous n\'avez pas répondu. Veuillez indiquer votre réponse' def is_displayed(self): return self.round_number == 1 class p2_Q4_questionnaire(Page): form_model = 'player' form_fields = [ 'Q4'] def error_message(self, values): if values['Q4'] != 1 : self.player.FAUX_Q4 = 1 return 'Vous avez fait une erreur. La réponse est : " "' elif values['Q4'] is None : return 'Vous n\'avez pas répondu. Veuillez indiquer votre réponse' def is_displayed(self): return self.round_number == 1 class p3_block_after_questionnaire(Page): def is_displayed(self): return self.round_number == 1 class start_prev2(Page): def vars_for_template(self): self.player.random_cle() def is_displayed(self): return self.round_number == 1 # le before next page est un peu bizarre ici mais c'est nécessaire pour # ensuite pouvoir indexer le nombre de choix possible à la page suivante et ainsi # pouvoir utiliser : range(1, len(self.participant.vars['X2_B_list'])) def before_next_page(self): self.player.record_valeur() self.player.recuperation_index_cle_high() class gaming(Page): form_model = 'player' def vars_for_template(self): self.player.record_valeur() def get_form_fields(self): return ['CHOIX' + str(k) for k in range(1, len(self.participant.vars['X2_B_list']) + 1)] def before_next_page(self): self.player.recuperation_des_donnees() def is_displayed(self): return self.round_number < Constants.num_rounds class fin_prev_main_task(Page): def vars_for_template(self): self.player.paiement_prev() def is_displayed(self): return self.round_number == Constants.num_rounds page_sequence = [p1_instru, p2_Q1_questionnaire, p2_Q2_questionnaire, p2_Q3_questionnaire, p2_Q4_questionnaire, p3_block_after_questionnaire, start_prev2, gaming, fin_prev_main_task]