from ._builtin import Page import random class Start(Page): def before_next_page(self): # Temporary: # possible_orders = [12, 21] # self.player.randomized_order = random.choice(possible_orders) # self.player.participant.vars['randomized_order'] = self.player.randomized_order # Temporary: # self.player.colors_reversed = random.randint(0, 1) # self.player.participant.vars['colors_reversed'] = self.player.colors_reversed # Temporary: # self.player.roles_reversed = random.randint(0, 1) # self.player.participant.vars['roles_reversed'] = self.player.roles_reversed self.player.randomized_order = self.participant.vars.get('randomized_order') self.player.colors_reversed = self.participant.vars.get('colors_reversed') self.player.roles_reversed = self.participant.vars.get('roles_reversed') class Questionnaire0(Page): form_model = 'player' form_fields = ['cog_un1', 'cog_un2', 'cog_un3'] class Questionnaire1(Page): form_model = 'player' form_fields = ['rank1_1', 'rank1_2', 'rank1_3', 'rank1_4', 'rank1_5', 'rank1_6', 'rank1_7', 'rank1_8'] def get_form_fields(self): fields_part1 = self.form_fields[0:4] random.shuffle(fields_part1) fields_part2 = self.form_fields[4:8] random.shuffle(fields_part2) fields = fields_part1 + fields_part2 return fields class Questionnaire2(Page): form_model = 'player' form_fields = ['rank2_1', 'rank2_2', 'rank2_3', 'rank2_4', 'rank2_5', 'rank2_6', 'rank2_7', 'rank2_8'] def get_form_fields(self): fields_part1 = self.form_fields[0:4] random.shuffle(fields_part1) fields_part2 = self.form_fields[4:8] random.shuffle(fields_part2) fields = fields_part1 + fields_part2 return fields class Questionnaire3(Page): form_model = 'player' form_fields = ['rank3_1', 'rank3_2', 'rank3_3', 'rank3_4', 'rank3_5', 'rank3_6', 'rank3_7', 'rank3_8'] def get_form_fields(self): fields_part1 = self.form_fields[0:4] random.shuffle(fields_part1) fields_part2 = self.form_fields[4:8] random.shuffle(fields_part2) fields = fields_part1 + fields_part2 return fields class Questionnaire4(Page): form_model = 'player' form_fields = ['rank4_1', 'rank4_2', 'rank4_3', 'rank4_4', 'rank4_5', 'rank4_6', 'rank4_7', 'rank4_8'] def get_form_fields(self): fields_part1 = self.form_fields[0:4] random.shuffle(fields_part1) fields_part2 = self.form_fields[4:8] random.shuffle(fields_part2) fields = fields_part1 + fields_part2 return fields class Questionnaire5(Page): form_model = 'player' form_fields = ['age', 'gender', 'nationality', 'study', 'course', 'question6', 'question7', 'question8', 'question9', 'question10', 'question11', 'question12', 'question13', 'question14'] class PaymentInformation(Page): form_model = 'player' form_fields = ['first_name', 'last_name', 'address', 'city', 'country', 'dob', 'iban', 'email'] class End(Page): pass page_sequence = [ Start, Questionnaire0, Questionnaire1, Questionnaire2, Questionnaire3, Questionnaire4, Questionnaire5, PaymentInformation, End ]