from ._builtin import Page, WaitPage from .models import Constants class Intro(Page): def is_displayed(self): return self.round_number == 1 class Intro_paid_part(Page): def is_displayed(self): return self.round_number == 1 class Intro_task1(Page): def is_displayed(self): return self.round_number == 1 class Intro_task2(Page): def is_displayed(self): return self.round_number == 2 class Intro_task3(Page): def is_displayed(self): return self.round_number == 3 class Demographics(Page): def is_displayed(self): return self.round_number == 1 form_model = "player" form_fields = ["gender", "age", "background", "old_participation"] class Task(Page): form_model = "player" form_fields = ["performance", "mistakes"] if Constants.use_timeout: timeout_seconds = Constants.seconds_per_period def vars_for_template(self): legend_list = [j for j in range(26)] task_list = [j for j in range(Constants.letters_per_word)] task_width = 90 / Constants.letters_per_word return { "legend_list": legend_list, "task_list": task_list, "task_width": task_width, } class Task_Entrainement(Page): def is_displayed(self): return self.round_number == 1 form_model = "player" form_fields = ["performance_entr", "mistakes_entr"] if Constants.use_timeout: timeout_seconds = Constants.seconds_per_entr def vars_for_template(self): legend_list = [j for j in range(26)] task_list = [j for j in range(Constants.letters_per_word)] task_width = 90 / Constants.letters_per_word return { "legend_list": legend_list, "task_list": task_list, "task_width": task_width, } class Additional(Page): def is_displayed(self): return self.round_number == 3 form_model = "player" form_fields = ["risk", "compete", "woman_perf", "woman_perf_team"] def before_next_page(self): self.player.payoff=self.player.in_round(Constants.picked_round).earnings+self.player.in_round(1).bonus_question class Additional_T1(Page): def is_displayed(self): return self.round_number == 1 form_model = "player" form_fields = ["self_eval_perf_t1", "self_eval_perf_groupe_t1"] class GenderPair(Page): def is_displayed(self): return self.round_number == 3 form_model = "player" form_fields = ["gender_pair"] class Results(Page): pass class Final(Page): def is_displayed(self): return self.round_number == 3 class MyWaitPage(WaitPage): after_all_players_arrive = "set_payoffs" class Results_entr(Page): def is_displayed(self): return self.round_number == 1 page_sequence = [ Intro, Demographics, Task_Entrainement, Results_entr, Intro_paid_part, Intro_task1, Intro_task2, Intro_task3, GenderPair, Task, Additional_T1, MyWaitPage, Results, Additional, Final, ]