from otree.api import * import random doc = """ Your app description """ class C(BaseConstants): NAME_IN_URL = 'PeerReview' PLAYERS_PER_GROUP = 3 NUM_ROUNDS = 3 bonus_belief = cu(1) bonus_RE = cu(6) # XXX to decide review_time = 120 other_time = 90 timer_text = "To make sure your group members don't have to wait too long, please press the Next button before the timer runs out:" use_1 = "newspaper" use_2 = "tin can" use_3 = "brick" class Subsession(BaseSubsession): pass def make_field(): return models.IntegerField() def make_field_quan(): return models.IntegerField() def make_field_live(): return models.IntegerField(initial = 11) def make_field_quan_live(): return models.IntegerField(initial = 11) def make_field_emotions(): return models.IntegerField( choices=[1, 2, 3, 4, 5], widget=widgets.RadioSelect, ) def make_field_timeout(): return models.BooleanField( initial=False ) def make_field_fair(): return models.IntegerField( choices=[1, 2, 3, 4, 5, 6, 7], widget=widgets.RadioSelect ) class Group(BaseGroup): pass class Player(BasePlayer): potential_payoff_RE_1 = models.CurrencyField() potential_payoff_RE_2 = models.CurrencyField() potential_payoff_RE_3 = models.CurrencyField() # self_rating = models.IntegerField( # choices=[ # [1, "I would give me the highest rating."], # [2, "I would give me the second highest rating."], # [3, "I would give me the the third highest rating."], # [4, "I would give me the the lowest rating."] # ], # widget=widgets.RadioSelect # ) #################### Emotions from Positive Affect Negative Affect Scale (PANAS) by Watson et al. (1988) (https://pubsonline.informs.org/doi/suppl/10.1287/mnsc.2016.2426/suppl_file/mnsc.2016.2426-sm.pdf) ######################### enthusiastic = make_field_emotions() upset = make_field_emotions() guilty= make_field_emotions() shocked = make_field_emotions() hostile = make_field_emotions() inspired = make_field_emotions() incurious = make_field_emotions() proud = make_field_emotions() irritable = make_field_emotions() appreciated = make_field_emotions() replaceable = make_field_emotions() disappointed = make_field_emotions() #################### Reviews ########################## review_on_player_1_qual = make_field() review_on_player_2_qual = make_field() review_on_player_3_qual = make_field() review_on_player_1_quan = make_field_quan() review_on_player_2_quan = make_field_quan() review_on_player_3_quan = make_field_quan() ################# Reviews wurden durch timeout submitted ################ review_on_player_1_qual_timeout = make_field_timeout() review_on_player_2_qual_timeout = make_field_timeout() review_on_player_3_qual_timeout = make_field_timeout() review_on_player_1_quan_timeout = make_field_timeout() review_on_player_2_quan_timeout = make_field_timeout() review_on_player_3_quan_timeout = make_field_timeout() #################### Review Felder für Livepages ########################## review_on_player_1_qual_live = make_field_live() review_on_player_2_qual_live = make_field_live() review_on_player_3_qual_live = make_field_live() review_on_player_1_quan_live = make_field_quan_live() review_on_player_2_quan_live = make_field_quan_live() review_on_player_3_quan_live = make_field_quan_live() ############## sonstige Form fields ################# fair_1 = make_field_fair() fair_2 = make_field_fair() fair_3 = make_field_fair() ################# Belief ############################### self_rating = models.IntegerField( choices=[ [1, "The highest rating."], [2, "The second-highest rating."], [3, "The lowest rating."] ], widget=widgets.RadioSelect ) belief = models.IntegerField( choices=[ [1, "I will receive the highest rating."], [2, "I will receive the second-highest rating."], [3, "I will receive the lowest rating."] ], widget=widgets.RadioSelect ) ############### Determine Rank ############################## team_1 = models.LongStringField() team_2 = models.LongStringField() team_3 = models.LongStringField() rank_1 = models.IntegerField() rank_2 = models.IntegerField() rank_3 = models.IntegerField() def find_rank(player, r): player_lists = player.group.get_players() player_1 = player_lists[0] player_2 = player_lists[1] player_3 = player_lists[2] treatment = player.session.config['treatment'] if r == 1: player_1_round = player_1.in_round(1) player_2_round = player_2.in_round(1) player_3_round = player_3.in_round(1) elif r == 2: player_1_round = player_1.in_round(2) player_2_round = player_2.in_round(2) player_3_round = player_3.in_round(2) elif r == 3: player_1_round = player_1.in_round(3) player_2_round = player_2.in_round(3) player_3_round = player_3.in_round(3) if treatment == "Three_trans" or treatment == "Three_intrans": total_review_on_player_1 = round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2 = round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3 = round((player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), else: total_review_on_player_1 = player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2 = player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3 = player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1 = float('.'.join(str(ele) for ele in total_review_on_player_1)) total_review_on_player_2 = float('.'.join(str(ele) for ele in total_review_on_player_2)) total_review_on_player_3 = float('.'.join(str(ele) for ele in total_review_on_player_3)) team = {'1': total_review_on_player_1, '2': total_review_on_player_2, '3': total_review_on_player_3,} print("Your team is") print(team) if r == 1: player.team_1 = ' - '.join([str(i) for i in team.values()]) elif r == 2: player.team_2 = ' - '.join([str(i) for i in team.values()]) elif r == 3: player.team_3 = ' - '.join([str(i) for i in team.values()]) # reshuffle the dictionary to account for ties team_set = list(set(team)) team = {i: team[i] for i in team_set} print("Reshuffeled team") print(team) winner = max(team, key=team.get) print("Winner:") print(winner) # Inverse sort team by performance team_sorted = sorted(team.items(), key=lambda item: item[1], reverse=True) print("Sorted team:") print(team_sorted) # Enumerate and label by name rank = {x[0]: idx for idx, x in enumerate(team_sorted, 1)} print("Rank:") print(rank) if r == 1: player.participant.vars["RE_rank_round_1_player_1"] = rank['1'] player.participant.vars["RE_rank_round_1_player_2"] = rank['2'] player.participant.vars["RE_rank_round_1_player_3"] = rank['3'] elif r == 2: player.participant.vars["RE_rank_round_2_player_1"] = rank['1'] player.participant.vars["RE_rank_round_2_player_2"] = rank['2'] player.participant.vars["RE_rank_round_2_player_3"] = rank['3'] elif r == 3: player.participant.vars["RE_rank_round_3_player_1"] = rank['1'] player.participant.vars["RE_rank_round_3_player_2"] = rank['2'] player.participant.vars["RE_rank_round_3_player_3"] = rank['3'] player_id = player.id_in_group print("Player ID:") print(player_id) if player_id == 1: rank = rank['1'] elif player_id == 2: rank = rank['2'] elif player_id == 3: rank = rank['3'] if r == 1: player.rank_1 = rank player.participant.vars["RE_1_rank"] = player.rank_1 player.participant.vars["RE_1_payoff"] = cu(0) if player.participant.vars['RE_1_belief'] == rank: player.participant.vars["RE_1_payoff"] = C.bonus_belief if rank == 1: player.participant.vars["RE_1_payoff"] += C.bonus_RE player.potential_payoff_RE_1 = player.participant.vars["RE_1_payoff"] return rank elif r ==2: player.rank_2 = rank player.participant.vars["RE_2_rank"] = player.rank_2 player.participant.vars["RE_2_payoff"] = cu(0) if player.participant.vars['RE_2_belief'] == rank: player.participant.vars["RE_2_payoff"] = C.bonus_belief if rank == 1: player.participant.vars["RE_2_payoff"] += C.bonus_RE player.potential_payoff_RE_2 = player.participant.vars["RE_2_payoff"] return rank elif r==3: player.rank_3 = rank player.participant.vars["RE_3_rank"] = player.rank_3 player.participant.vars["RE_3_payoff"] = cu(0) if player.participant.vars['RE_3_belief'] == rank: player.participant.vars["RE_3_payoff"] = C.bonus_belief if rank == 1: player.participant.vars["RE_3_payoff"] += C.bonus_RE player.potential_payoff_RE_3 = player.participant.vars["RE_3_payoff"] return rank @staticmethod # save unusual uses and beliefs def save_belief(player): if player.round_number == 1: player.participant.vars['RE_1_belief'] = player.belief if player.round_number == 2: player.participant.vars['RE_2_belief'] = player.belief if player.round_number == 3: player.participant.vars['RE_3_belief'] = player.belief # PAGES class Review(Page): timeout_seconds = C.review_time timer_text = C.timer_text form_model = 'player' #form_fields = ['self_rating'] @staticmethod def live_method(player, input): print(input) if 0 <= input['value'] <= 10: if input['field'] == 'review_on_player_1_quan': player.review_on_player_1_quan_live = input['value'] elif input['field'] == 'review_on_player_1_qual': player.review_on_player_1_qual_live = input['value'] elif input['field'] == 'review_on_player_2_quan': player.review_on_player_2_quan_live = input['value'] elif input['field'] == 'review_on_player_2_qual': player.review_on_player_2_qual_live = input['value'] elif input['field'] == 'review_on_player_3_quan': player.review_on_player_3_quan_live = input['value'] elif input['field'] == 'review_on_player_3_qual': player.review_on_player_3_qual_live = input['value'] @staticmethod def before_next_page(player, timeout_happened): if 0 <= player.review_on_player_1_quan_live <= 10: player.review_on_player_1_quan = player.review_on_player_1_quan_live if 0 <= player.review_on_player_1_qual_live <= 10: player.review_on_player_1_qual = player.review_on_player_1_qual_live if 0 <= player.review_on_player_2_quan_live <= 10: player.review_on_player_2_quan = player.review_on_player_2_quan_live if 0 <= player.review_on_player_2_qual_live <= 10: player.review_on_player_2_qual = player.review_on_player_2_qual_live if 0 <= player.review_on_player_3_quan_live <= 10: player.review_on_player_3_quan = player.review_on_player_3_quan_live if 0 <= player.review_on_player_3_qual_live <= 10: player.review_on_player_3_qual = player.review_on_player_3_qual_live if timeout_happened: if player.session.config['treatment'] == "Three_trans" or player.session.config['treatment'] == "Three_intrans": if player.id_in_group != 1: if player.review_on_player_1_quan_live == 11: player.review_on_player_1_quan_timeout = True player.review_on_player_1_quan = random.randint(0, 10) if player.review_on_player_1_qual_live == 11.0: player.review_on_player_1_qual_timeout = True player.review_on_player_1_qual = random.randint(0, 10) if player.id_in_group != 2: if player.review_on_player_2_quan_live == 11: player.review_on_player_2_quan_timeout = True player.review_on_player_2_quan = random.randint(0, 10) if player.review_on_player_2_qual_live == 11.0: player.review_on_player_2_qual_timeout = True player.review_on_player_2_qual = random.randint(0, 10) if player.id_in_group != 3: if player.review_on_player_3_quan_live == 11: player.review_on_player_3_quan_timeout = True player.review_on_player_3_quan = random.randint(0, 10) if player.review_on_player_3_qual_live == 11.0: player.review_on_player_3_qual_timeout = True player.review_on_player_3_qual = random.randint(0, 10) else: ## one treatment if player.id_in_group == 1: if player.review_on_player_2_quan_live == 11: player.review_on_player_2_quan_timeout = True player.review_on_player_2_quan = random.randint(0, 10) if player.review_on_player_2_qual_live == 11.0: player.review_on_player_2_qual_timeout = True player.review_on_player_2_qual = random.randint(0, 10) if player.id_in_group == 2: if player.review_on_player_3_quan_live == 11: player.review_on_player_3_quan_timeout = True player.review_on_player_3_quan = random.randint(0, 10) if player.review_on_player_3_qual_live == 11.0: player.review_on_player_3_qual_timeout = True player.review_on_player_3_qual = random.randint(0, 10) if player.id_in_group == 3: if player.review_on_player_1_quan_live == 11: player.review_on_player_1_quan_timeout = True player.review_on_player_1_quan = random.randint(0, 10) if player.review_on_player_1_qual_live == 11.0: player.review_on_player_1_qual_timeout = True player.review_on_player_1_qual = random.randint(0, 10) def vars_for_template(player): player_lists = player.group.get_players() player_1 = player_lists[0] player_2 = player_lists[1] player_3 = player_lists[2] if player.round_number == 1: return dict( Unusual_Use_1_player_1=player_1.participant.vars['UnusualUse1_round1'], Unusual_Use_1_player_2=player_2.participant.vars['UnusualUse1_round1'], Unusual_Use_1_player_3=player_3.participant.vars['UnusualUse1_round1'], Unusual_Use_2_player_1=player_1.participant.vars['UnusualUse2_round1'], Unusual_Use_2_player_2=player_2.participant.vars['UnusualUse2_round1'], Unusual_Use_2_player_3=player_3.participant.vars['UnusualUse2_round1'], Unusual_Use_3_player_1=player_1.participant.vars['UnusualUse3_round1'], Unusual_Use_3_player_2=player_2.participant.vars['UnusualUse3_round1'], Unusual_Use_3_player_3=player_3.participant.vars['UnusualUse3_round1'], Unusual_Use_4_player_1=player_1.participant.vars['UnusualUse4_round1'], Unusual_Use_4_player_2=player_2.participant.vars['UnusualUse4_round1'], Unusual_Use_4_player_3=player_3.participant.vars['UnusualUse4_round1'], Unusual_Use_5_player_1=player_1.participant.vars['UnusualUse5_round1'], Unusual_Use_5_player_2=player_2.participant.vars['UnusualUse5_round1'], Unusual_Use_5_player_3=player_3.participant.vars['UnusualUse5_round1'], Unusual_Use_6_player_1=player_1.participant.vars['UnusualUse6_round1'], Unusual_Use_6_player_2=player_2.participant.vars['UnusualUse6_round1'], Unusual_Use_6_player_3=player_3.participant.vars['UnusualUse6_round1'], Unusual_Use_7_player_1=player_1.participant.vars['UnusualUse7_round1'], Unusual_Use_7_player_2=player_2.participant.vars['UnusualUse7_round1'], Unusual_Use_7_player_3=player_3.participant.vars['UnusualUse7_round1'], Unusual_Use_8_player_1=player_1.participant.vars['UnusualUse8_round1'], Unusual_Use_8_player_2=player_2.participant.vars['UnusualUse8_round1'], Unusual_Use_8_player_3=player_3.participant.vars['UnusualUse8_round1'], Unusual_Use_9_player_1=player_1.participant.vars['UnusualUse9_round1'], Unusual_Use_9_player_2=player_2.participant.vars['UnusualUse9_round1'], Unusual_Use_9_player_3=player_3.participant.vars['UnusualUse9_round1'], Unusual_Use_10_player_1=player_1.participant.vars['UnusualUse10_round1'], Unusual_Use_10_player_2=player_2.participant.vars['UnusualUse10_round1'], Unusual_Use_10_player_3=player_3.participant.vars['UnusualUse10_round1'], treatment=player.session.config['treatment'], ) elif player.round_number == 2: return dict( Unusual_Use_1_player_1=player_1.participant.vars['UnusualUse1_round2'], Unusual_Use_1_player_2=player_2.participant.vars['UnusualUse1_round2'], Unusual_Use_1_player_3=player_3.participant.vars['UnusualUse1_round2'], Unusual_Use_2_player_1=player_1.participant.vars['UnusualUse2_round2'], Unusual_Use_2_player_2=player_2.participant.vars['UnusualUse2_round2'], Unusual_Use_2_player_3=player_3.participant.vars['UnusualUse2_round2'], Unusual_Use_3_player_1=player_1.participant.vars['UnusualUse3_round2'], Unusual_Use_3_player_2=player_2.participant.vars['UnusualUse3_round2'], Unusual_Use_3_player_3=player_3.participant.vars['UnusualUse3_round2'], Unusual_Use_4_player_1=player_1.participant.vars['UnusualUse4_round2'], Unusual_Use_4_player_2=player_2.participant.vars['UnusualUse4_round2'], Unusual_Use_4_player_3=player_3.participant.vars['UnusualUse4_round2'], Unusual_Use_5_player_1=player_1.participant.vars['UnusualUse5_round2'], Unusual_Use_5_player_2=player_2.participant.vars['UnusualUse5_round2'], Unusual_Use_5_player_3=player_3.participant.vars['UnusualUse5_round2'], Unusual_Use_6_player_1=player_1.participant.vars['UnusualUse6_round2'], Unusual_Use_6_player_2=player_2.participant.vars['UnusualUse6_round2'], Unusual_Use_6_player_3=player_3.participant.vars['UnusualUse6_round2'], Unusual_Use_7_player_1=player_1.participant.vars['UnusualUse7_round2'], Unusual_Use_7_player_2=player_2.participant.vars['UnusualUse7_round2'], Unusual_Use_7_player_3=player_3.participant.vars['UnusualUse7_round2'], Unusual_Use_8_player_1=player_1.participant.vars['UnusualUse8_round2'], Unusual_Use_8_player_2=player_2.participant.vars['UnusualUse8_round2'], Unusual_Use_8_player_3=player_3.participant.vars['UnusualUse8_round2'], Unusual_Use_9_player_1=player_1.participant.vars['UnusualUse9_round2'], Unusual_Use_9_player_2=player_2.participant.vars['UnusualUse9_round2'], Unusual_Use_9_player_3=player_3.participant.vars['UnusualUse9_round2'], Unusual_Use_10_player_1=player_1.participant.vars['UnusualUse10_round2'], Unusual_Use_10_player_2=player_2.participant.vars['UnusualUse10_round2'], Unusual_Use_10_player_3=player_3.participant.vars['UnusualUse10_round2'], treatment=player.session.config['treatment'], ) else: return dict( Unusual_Use_1_player_1=player_1.participant.vars['UnusualUse1_round3'], Unusual_Use_1_player_2=player_2.participant.vars['UnusualUse1_round3'], Unusual_Use_1_player_3=player_3.participant.vars['UnusualUse1_round3'], Unusual_Use_2_player_1=player_1.participant.vars['UnusualUse2_round3'], Unusual_Use_2_player_2=player_2.participant.vars['UnusualUse2_round3'], Unusual_Use_2_player_3=player_3.participant.vars['UnusualUse2_round3'], Unusual_Use_3_player_1=player_1.participant.vars['UnusualUse3_round3'], Unusual_Use_3_player_2=player_2.participant.vars['UnusualUse3_round3'], Unusual_Use_3_player_3=player_3.participant.vars['UnusualUse3_round3'], Unusual_Use_4_player_1=player_1.participant.vars['UnusualUse4_round3'], Unusual_Use_4_player_2=player_2.participant.vars['UnusualUse4_round3'], Unusual_Use_4_player_3=player_3.participant.vars['UnusualUse4_round3'], Unusual_Use_5_player_1=player_1.participant.vars['UnusualUse5_round3'], Unusual_Use_5_player_2=player_2.participant.vars['UnusualUse5_round3'], Unusual_Use_5_player_3=player_3.participant.vars['UnusualUse5_round3'], Unusual_Use_6_player_1=player_1.participant.vars['UnusualUse6_round3'], Unusual_Use_6_player_2=player_2.participant.vars['UnusualUse6_round3'], Unusual_Use_6_player_3=player_3.participant.vars['UnusualUse6_round3'], Unusual_Use_7_player_1=player_1.participant.vars['UnusualUse7_round3'], Unusual_Use_7_player_2=player_2.participant.vars['UnusualUse7_round3'], Unusual_Use_7_player_3=player_3.participant.vars['UnusualUse7_round3'], Unusual_Use_8_player_1=player_1.participant.vars['UnusualUse8_round3'], Unusual_Use_8_player_2=player_2.participant.vars['UnusualUse8_round3'], Unusual_Use_8_player_3=player_3.participant.vars['UnusualUse8_round3'], Unusual_Use_9_player_1=player_1.participant.vars['UnusualUse9_round3'], Unusual_Use_9_player_2=player_2.participant.vars['UnusualUse9_round3'], Unusual_Use_9_player_3=player_3.participant.vars['UnusualUse9_round3'], Unusual_Use_10_player_1=player_1.participant.vars['UnusualUse10_round3'], Unusual_Use_10_player_2=player_2.participant.vars['UnusualUse10_round3'], Unusual_Use_10_player_3=player_3.participant.vars['UnusualUse10_round3'], treatment=player.session.config['treatment'], ) @staticmethod def js_vars(player): return dict( round=player.round_number, id = player.id_in_group, treatment=player.session.config['treatment'], ) class ResultsWaitPage(WaitPage): # If you set group_by_arrival_time = True on a WaitPage, players will be grouped in the order they arrive at that wait page group_by_arrival_time = True @staticmethod def is_displayed(player): return player.round_number == 1 # subsequent rounds will keep the same group structure as round 1 @staticmethod def after_all_players_arrive(group: Group): # save each participant's current group ID so it can be # accessed in the next app. for p in group.get_players(): participant = p.participant participant.vars['past_group_id'] = group.id class ResultsWaitPage_2(WaitPage): @staticmethod def is_displayed(player): return player.round_number == 3 class ShowReview_1_Rework(Page): timeout_seconds = C.other_time timer_text = C.timer_text @staticmethod def is_displayed(player): return player.round_number == 3 form_model = 'player' form_fields = ['fair_1'] def vars_for_template(player): rank = player.find_rank(r=1) treatment = player.session.config['treatment'] player_lists = player.group.get_players() player_1 = player_lists[0] player_2 = player_lists[1] player_3 = player_lists[2] player_1_round = player_1.in_round(1) player_2_round = player_2.in_round(1) player_3_round = player_3.in_round(1) if treatment == "Three_trans" or treatment == "Three_intrans": total_review_on_player_1 = round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2 = round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3 = round((player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), total_review_on_player_1_quan = round((player_2_round.review_on_player_1_quan + player_3_round.review_on_player_1_quan) / 2,2), total_review_on_player_2_quan = round((player_1_round.review_on_player_2_quan + player_3_round.review_on_player_2_quan) / 2,2), total_review_on_player_3_quan = round((player_1_round.review_on_player_3_quan + player_2_round.review_on_player_3_quan) / 2,2), total_review_on_player_1_qual = round((player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2_qual = round((player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3_qual = round((player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_qual) / 2,2), else: total_review_on_player_1 = player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2 = player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3 = player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1_quan = player_3_round.review_on_player_1_quan, total_review_on_player_2_quan = player_1_round.review_on_player_2_quan, total_review_on_player_3_quan = player_2_round.review_on_player_3_quan, total_review_on_player_1_qual = player_3_round.review_on_player_1_qual, total_review_on_player_2_qual = player_1_round.review_on_player_2_qual, total_review_on_player_3_qual = player_2_round.review_on_player_3_qual, total_review_on_player_1 = float('.'.join(str(ele) for ele in total_review_on_player_1)) total_review_on_player_2 = float('.'.join(str(ele) for ele in total_review_on_player_2)) total_review_on_player_3 = float('.'.join(str(ele) for ele in total_review_on_player_3)) total_review_on_player_1_quan = float('.'.join(str(ele) for ele in total_review_on_player_1_quan)) total_review_on_player_2_quan = float('.'.join(str(ele) for ele in total_review_on_player_2_quan)) total_review_on_player_3_quan = float('.'.join(str(ele) for ele in total_review_on_player_3_quan)) total_review_on_player_1_qual = float('.'.join(str(ele) for ele in total_review_on_player_1_qual)) total_review_on_player_2_qual = float('.'.join(str(ele) for ele in total_review_on_player_2_qual)) total_review_on_player_3_qual = float('.'.join(str(ele) for ele in total_review_on_player_3_qual)) if treatment == "Three_trans" or treatment == "Three_intrans": return dict( treatment=player.session.config['treatment'], review_on_player_1_from_player_2_qual=player_2_round.review_on_player_1_qual, review_on_player_1_from_player_3_qual=player_3_round.review_on_player_1_qual, review_on_player_2_from_player_1_qual=player_1_round.review_on_player_2_qual, review_on_player_2_from_player_3_qual=player_3_round.review_on_player_2_qual, review_on_player_3_from_player_1_qual=player_1_round.review_on_player_3_qual, review_on_player_3_from_player_2_qual=player_2_round.review_on_player_3_qual, review_on_player_1_from_player_2_quan=player_2_round.review_on_player_1_quan, review_on_player_1_from_player_3_quan=player_3_round.review_on_player_1_quan, review_on_player_2_from_player_1_quan=player_1_round.review_on_player_2_quan, review_on_player_2_from_player_3_quan=player_3_round.review_on_player_2_quan, review_on_player_3_from_player_1_quan=player_1_round.review_on_player_3_quan, review_on_player_3_from_player_2_quan=player_2_round.review_on_player_3_quan, total_review_on_player_1_from_player_2=player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual, total_review_on_player_1_from_player_3=player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2_from_player_1=player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_2_from_player_3=player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual, total_review_on_player_3_from_player_1=player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual, total_review_on_player_3_from_player_2=player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_from_player_1=round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual) / 2,2), total_review_from_player_2=round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), total_review_from_player_3=round((player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_1=total_review_on_player_1, total_review_on_player_2=total_review_on_player_2, total_review_on_player_3=total_review_on_player_3, total_review_on_player_1_quan=total_review_on_player_1_quan, total_review_on_player_2_quan=total_review_on_player_2_quan, total_review_on_player_3_quan=total_review_on_player_3_quan, total_review_on_player_1_qual=total_review_on_player_1_qual, total_review_on_player_2_qual=total_review_on_player_2_qual, total_review_on_player_3_qual=total_review_on_player_3_qual, rank=rank, rank_player_1 = player.participant.vars["RE_rank_round_1_player_1"], rank_player_2 = player.participant.vars["RE_rank_round_1_player_2"], rank_player_3 = player.participant.vars["RE_rank_round_1_player_3"], ) else: return dict( treatment=player.session.config['treatment'], review_on_player_1_from_player_3_qual=player_3_round.review_on_player_1_qual, review_on_player_2_from_player_1_qual=player_1_round.review_on_player_2_qual, review_on_player_3_from_player_2_qual=player_2_round.review_on_player_3_qual, review_on_player_1_from_player_3_quan=player_3_round.review_on_player_1_quan, review_on_player_2_from_player_1_quan=player_1_round.review_on_player_2_quan, review_on_player_3_from_player_2_quan=player_2_round.review_on_player_3_quan, total_review_on_player_1_from_player_3=player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2_from_player_1=player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3_from_player_2=player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1=total_review_on_player_1, total_review_on_player_2=total_review_on_player_2, total_review_on_player_3=total_review_on_player_3, total_review_on_player_1_quan=total_review_on_player_1_quan, total_review_on_player_2_quan=total_review_on_player_2_quan, total_review_on_player_3_quan=total_review_on_player_3_quan, total_review_on_player_1_qual=total_review_on_player_1_qual, total_review_on_player_2_qual=total_review_on_player_2_qual, total_review_on_player_3_qual=total_review_on_player_3_qual, rank=rank, rank_player_1=player.participant.vars["RE_rank_round_1_player_1"], rank_player_2=player.participant.vars["RE_rank_round_1_player_2"], rank_player_3=player.participant.vars["RE_rank_round_1_player_3"], ) class ShowReview_2_Rework(Page): timeout_seconds = C.other_time timer_text = C.timer_text @staticmethod def is_displayed(player): return player.round_number == 3 form_model = 'player' form_fields = ['fair_2'] def vars_for_template(player): treatment = player.session.config['treatment'] player_lists = player.group.get_players() player_1 = player_lists[0] player_2 = player_lists[1] player_3 = player_lists[2] player_1_round = player_1.in_round(2) player_2_round = player_2.in_round(2) player_3_round = player_3.in_round(2) if treatment == "Three_trans" or treatment == "Three_intrans": total_review_on_player_1 = round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2 = round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3 = round((player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), total_review_on_player_1_quan = round((player_2_round.review_on_player_1_quan + player_3_round.review_on_player_1_quan) / 2,2), total_review_on_player_2_quan = round((player_1_round.review_on_player_2_quan + player_3_round.review_on_player_2_quan) / 2,2), total_review_on_player_3_quan = round((player_1_round.review_on_player_3_quan + player_2_round.review_on_player_3_quan) / 2,2), total_review_on_player_1_qual = round((player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2_qual = round((player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3_qual = round((player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_qual) / 2,2), else: total_review_on_player_1 = player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2 = player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3 = player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1_quan = player_3_round.review_on_player_1_quan, total_review_on_player_2_quan = player_1_round.review_on_player_2_quan, total_review_on_player_3_quan = player_2_round.review_on_player_3_quan, total_review_on_player_1_qual = player_3_round.review_on_player_1_qual, total_review_on_player_2_qual = player_1_round.review_on_player_2_qual, total_review_on_player_3_qual = player_2_round.review_on_player_3_qual, total_review_on_player_1 = float('.'.join(str(ele) for ele in total_review_on_player_1)) total_review_on_player_2 = float('.'.join(str(ele) for ele in total_review_on_player_2)) total_review_on_player_3 = float('.'.join(str(ele) for ele in total_review_on_player_3)) total_review_on_player_1_quan = float('.'.join(str(ele) for ele in total_review_on_player_1_quan)) total_review_on_player_2_quan = float('.'.join(str(ele) for ele in total_review_on_player_2_quan)) total_review_on_player_3_quan = float('.'.join(str(ele) for ele in total_review_on_player_3_quan)) total_review_on_player_1_qual = float('.'.join(str(ele) for ele in total_review_on_player_1_qual)) total_review_on_player_2_qual = float('.'.join(str(ele) for ele in total_review_on_player_2_qual)) total_review_on_player_3_qual = float('.'.join(str(ele) for ele in total_review_on_player_3_qual)) rank = player.find_rank(r=2) if treatment == "Three_trans" or treatment == "Three_intrans": return dict( treatment=player.session.config['treatment'], review_on_player_1_from_player_2_qual=player_2_round.review_on_player_1_qual, review_on_player_1_from_player_3_qual=player_3_round.review_on_player_1_qual, review_on_player_2_from_player_1_qual=player_1_round.review_on_player_2_qual, review_on_player_2_from_player_3_qual=player_3_round.review_on_player_2_qual, review_on_player_3_from_player_1_qual=player_1_round.review_on_player_3_qual, review_on_player_3_from_player_2_qual=player_2_round.review_on_player_3_qual, review_on_player_1_from_player_2_quan=player_2_round.review_on_player_1_quan, review_on_player_1_from_player_3_quan=player_3_round.review_on_player_1_quan, review_on_player_2_from_player_1_quan=player_1_round.review_on_player_2_quan, review_on_player_2_from_player_3_quan=player_3_round.review_on_player_2_quan, review_on_player_3_from_player_1_quan=player_1_round.review_on_player_3_quan, review_on_player_3_from_player_2_quan=player_2_round.review_on_player_3_quan, total_review_on_player_1_from_player_2=player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual, total_review_on_player_1_from_player_3=player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2_from_player_1=player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_2_from_player_3=player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual, total_review_on_player_3_from_player_1=player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual, total_review_on_player_3_from_player_2=player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_from_player_1=round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual) / 2,2), total_review_from_player_2=round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), total_review_from_player_3=round((player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_1=total_review_on_player_1, total_review_on_player_2=total_review_on_player_2, total_review_on_player_3=total_review_on_player_3, total_review_on_player_1_quan=total_review_on_player_1_quan, total_review_on_player_2_quan=total_review_on_player_2_quan, total_review_on_player_3_quan=total_review_on_player_3_quan, total_review_on_player_1_qual=total_review_on_player_1_qual, total_review_on_player_2_qual=total_review_on_player_2_qual, total_review_on_player_3_qual=total_review_on_player_3_qual, rank=rank, rank_player_1=player.participant.vars["RE_rank_round_2_player_1"], rank_player_2=player.participant.vars["RE_rank_round_2_player_2"], rank_player_3=player.participant.vars["RE_rank_round_2_player_3"], ) else: return dict( treatment=player.session.config['treatment'], review_on_player_1_from_player_3_qual=player_3_round.review_on_player_1_qual, review_on_player_2_from_player_1_qual=player_1_round.review_on_player_2_qual, review_on_player_3_from_player_2_qual=player_2_round.review_on_player_3_qual, review_on_player_1_from_player_3_quan=player_3_round.review_on_player_1_quan, review_on_player_2_from_player_1_quan=player_1_round.review_on_player_2_quan, review_on_player_3_from_player_2_quan=player_2_round.review_on_player_3_quan, total_review_on_player_1_from_player_3=player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2_from_player_1=player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3_from_player_2=player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1=total_review_on_player_1, total_review_on_player_2=total_review_on_player_2, total_review_on_player_3=total_review_on_player_3, total_review_on_player_1_quan=total_review_on_player_1_quan, total_review_on_player_2_quan=total_review_on_player_2_quan, total_review_on_player_3_quan=total_review_on_player_3_quan, total_review_on_player_1_qual=total_review_on_player_1_qual, total_review_on_player_2_qual=total_review_on_player_2_qual, total_review_on_player_3_qual=total_review_on_player_3_qual, rank=rank, rank_player_1=player.participant.vars["RE_rank_round_2_player_1"], rank_player_2=player.participant.vars["RE_rank_round_2_player_2"], rank_player_3=player.participant.vars["RE_rank_round_2_player_3"], ) class ShowReview_3_Rework(Page): timeout_seconds = C.other_time timer_text = C.timer_text @staticmethod def is_displayed(player): return player.round_number == 3 form_model = 'player' form_fields = ['fair_3'] def vars_for_template(player): treatment = player.session.config['treatment'] player_lists = player.group.get_players() player_1 = player_lists[0] player_2 = player_lists[1] player_3 = player_lists[2] player_1_round = player_1.in_round(3) player_2_round = player_2.in_round(3) player_3_round = player_3.in_round(3) if treatment == "Three_trans" or treatment == "Three_intrans": total_review_on_player_1 = round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2 = round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3 = round((player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), total_review_on_player_1_quan = round((player_2_round.review_on_player_1_quan + player_3_round.review_on_player_1_quan) / 2,2), total_review_on_player_2_quan = round((player_1_round.review_on_player_2_quan + player_3_round.review_on_player_2_quan) / 2,2), total_review_on_player_3_quan = round((player_1_round.review_on_player_3_quan + player_2_round.review_on_player_3_quan) / 2,2), total_review_on_player_1_qual = round((player_2_round.review_on_player_1_qual + player_3_round.review_on_player_1_qual) / 2,2), total_review_on_player_2_qual = round((player_1_round.review_on_player_2_qual + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_3_qual = round((player_1_round.review_on_player_3_qual + player_2_round.review_on_player_3_qual) / 2,2), else: total_review_on_player_1 = player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2 = player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3 = player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1_quan = player_3_round.review_on_player_1_quan, total_review_on_player_2_quan = player_1_round.review_on_player_2_quan, total_review_on_player_3_quan = player_2_round.review_on_player_3_quan, total_review_on_player_1_qual = player_3_round.review_on_player_1_qual, total_review_on_player_2_qual = player_1_round.review_on_player_2_qual, total_review_on_player_3_qual = player_2_round.review_on_player_3_qual, total_review_on_player_1 = float('.'.join(str(ele) for ele in total_review_on_player_1)) total_review_on_player_2 = float('.'.join(str(ele) for ele in total_review_on_player_2)) total_review_on_player_3 = float('.'.join(str(ele) for ele in total_review_on_player_3)) total_review_on_player_1_quan = float('.'.join(str(ele) for ele in total_review_on_player_1_quan)) total_review_on_player_2_quan = float('.'.join(str(ele) for ele in total_review_on_player_2_quan)) total_review_on_player_3_quan = float('.'.join(str(ele) for ele in total_review_on_player_3_quan)) total_review_on_player_1_qual = float('.'.join(str(ele) for ele in total_review_on_player_1_qual)) total_review_on_player_2_qual = float('.'.join(str(ele) for ele in total_review_on_player_2_qual)) total_review_on_player_3_qual = float('.'.join(str(ele) for ele in total_review_on_player_3_qual)) rank = player.find_rank(r=3) ## change here if copy if treatment == "Three_trans" or treatment == "Three_intrans": return dict( treatment=player.session.config['treatment'], review_on_player_1_from_player_2_qual=player_2_round.review_on_player_1_qual, review_on_player_1_from_player_3_qual=player_3_round.review_on_player_1_qual, review_on_player_2_from_player_1_qual=player_1_round.review_on_player_2_qual, review_on_player_2_from_player_3_qual=player_3_round.review_on_player_2_qual, review_on_player_3_from_player_1_qual=player_1_round.review_on_player_3_qual, review_on_player_3_from_player_2_qual=player_2_round.review_on_player_3_qual, review_on_player_1_from_player_2_quan=player_2_round.review_on_player_1_quan, review_on_player_1_from_player_3_quan=player_3_round.review_on_player_1_quan, review_on_player_2_from_player_1_quan=player_1_round.review_on_player_2_quan, review_on_player_2_from_player_3_quan=player_3_round.review_on_player_2_quan, review_on_player_3_from_player_1_quan=player_1_round.review_on_player_3_quan, review_on_player_3_from_player_2_quan=player_2_round.review_on_player_3_quan, total_review_on_player_1_from_player_2=player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual, total_review_on_player_1_from_player_3=player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2_from_player_1=player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_2_from_player_3=player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual, total_review_on_player_3_from_player_1=player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual, total_review_on_player_3_from_player_2=player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_from_player_1=round((player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual + player_1_round.review_on_player_3_quan + player_1_round.review_on_player_3_qual) / 2,2), total_review_from_player_2=round((player_2_round.review_on_player_1_quan + player_2_round.review_on_player_1_qual + player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual) / 2,2), total_review_from_player_3=round((player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual + player_3_round.review_on_player_2_quan + player_3_round.review_on_player_2_qual) / 2,2), total_review_on_player_1=total_review_on_player_1, total_review_on_player_2=total_review_on_player_2, total_review_on_player_3=total_review_on_player_3, total_review_on_player_1_quan=total_review_on_player_1_quan, total_review_on_player_2_quan=total_review_on_player_2_quan, total_review_on_player_3_quan=total_review_on_player_3_quan, total_review_on_player_1_qual=total_review_on_player_1_qual, total_review_on_player_2_qual=total_review_on_player_2_qual, total_review_on_player_3_qual=total_review_on_player_3_qual, rank=rank, rank_player_1=player.participant.vars["RE_rank_round_3_player_1"], rank_player_2=player.participant.vars["RE_rank_round_3_player_2"], rank_player_3=player.participant.vars["RE_rank_round_3_player_3"], ) else: return dict( treatment=player.session.config['treatment'], review_on_player_1_from_player_3_qual=player_3_round.review_on_player_1_qual, review_on_player_2_from_player_1_qual=player_1_round.review_on_player_2_qual, review_on_player_3_from_player_2_qual=player_2_round.review_on_player_3_qual, review_on_player_1_from_player_3_quan=player_3_round.review_on_player_1_quan, review_on_player_2_from_player_1_quan=player_1_round.review_on_player_2_quan, review_on_player_3_from_player_2_quan=player_2_round.review_on_player_3_quan, total_review_on_player_1_from_player_3=player_3_round.review_on_player_1_quan + player_3_round.review_on_player_1_qual, total_review_on_player_2_from_player_1=player_1_round.review_on_player_2_quan + player_1_round.review_on_player_2_qual, total_review_on_player_3_from_player_2=player_2_round.review_on_player_3_quan + player_2_round.review_on_player_3_qual, total_review_on_player_1=total_review_on_player_1, total_review_on_player_2=total_review_on_player_2, total_review_on_player_3=total_review_on_player_3, total_review_on_player_1_quan=total_review_on_player_1_quan, total_review_on_player_2_quan=total_review_on_player_2_quan, total_review_on_player_3_quan=total_review_on_player_3_quan, total_review_on_player_1_qual=total_review_on_player_1_qual, total_review_on_player_2_qual=total_review_on_player_2_qual, total_review_on_player_3_qual=total_review_on_player_3_qual, rank=rank, rank_player_1=player.participant.vars["RE_rank_round_3_player_1"], rank_player_2=player.participant.vars["RE_rank_round_3_player_2"], rank_player_3=player.participant.vars["RE_rank_round_3_player_3"], ) class Emotions(Page): timeout_seconds = C.other_time timer_text = C.timer_text @staticmethod def is_displayed(player): return player.round_number == 3 form_model = 'player' form_fields = ['enthusiastic', 'upset', 'guilty', 'shocked', 'hostile', 'inspired', 'incurious', 'proud', 'irritable', 'appreciated', 'replaceable', 'disappointed'] class Belief(Page): timeout_seconds = C.other_time timer_text = C.timer_text form_model = 'player' form_fields = ['belief', "self_rating"] def vars_for_template(player): return dict( treatment=player.session.config['treatment'], ) @staticmethod def before_next_page(player, timeout_happened): player.save_belief(player) treatment = player.session.config['treatment'] # account for possible NONE values in the reviews if treatment == "Three_trans" or treatment == "Three_intrans": if player.id_in_group == 1: if player.field_maybe_none('review_on_player_2_quan') is None: player.review_on_player_2_quan = random.randint(0, 10) player.review_on_player_2_quan_timeout = True if player.field_maybe_none('review_on_player_2_qual') is None: player.review_on_player_2_qual = random.randint(0, 10) player.review_on_player_2_qual_timeout = True if player.field_maybe_none('review_on_player_3_quan') is None: player.review_on_player_3_quan = random.randint(0, 10) player.review_on_player_3_quan_timeout = True if player.field_maybe_none('review_on_player_3_qual') is None: player.review_on_player_3_qual = random.randint(0, 10) player.review_on_player_3_qual_timeout = True if player.id_in_group == 2: if player.field_maybe_none('review_on_player_1_quan') is None: player.review_on_player_1_quan = random.randint(0, 10) player.review_on_player_1_quan_timeout = True if player.field_maybe_none('review_on_player_1_qual') is None: player.review_on_player_1_qual = random.randint(0, 10) player.review_on_player_1_qual_timeout = True if player.field_maybe_none('review_on_player_3_quan') is None: player.review_on_player_3_quan = random.randint(0, 10) player.review_on_player_3_quan_timeout = True if player.field_maybe_none('review_on_player_3_qual') is None: player.review_on_player_3_qual = random.randint(0, 10) player.review_on_player_3_qual_timeout = True if player.id_in_group == 3: if player.field_maybe_none('review_on_player_1_quan') is None: player.review_on_player_1_quan = random.randint(0, 10) player.review_on_player_1_quan_timeout = True if player.field_maybe_none('review_on_player_1_qual') is None: player.review_on_player_1_qual = random.randint(0, 10) player.review_on_player_1_qual_timeout = True if player.field_maybe_none('review_on_player_2_quan') is None: player.review_on_player_2_quan = random.randint(0, 10) player.review_on_player_2_quan_timeout = True if player.field_maybe_none('review_on_player_2_qual') is None: player.review_on_player_2_qual = random.randint(0, 10) player.review_on_player_2_qual_timeout = True else: if player.id_in_group == 1: if player.field_maybe_none('review_on_player_2_quan') is None: player.review_on_player_2_quan = random.randint(0, 10) player.review_on_player_2_quan_timeout = True if player.field_maybe_none('review_on_player_2_qual') is None: player.review_on_player_2_qual = random.randint(0, 10) player.review_on_player_2_qual_timeout = True if player.id_in_group == 2: if player.field_maybe_none('review_on_player_3_quan') is None: player.review_on_player_3_quan = random.randint(0, 10) player.review_on_player_3_quan_timeout = True if player.field_maybe_none('review_on_player_3_qual') is None: player.review_on_player_3_qual = random.randint(0, 10) player.review_on_player_3_qual_timeout = True if player.id_in_group == 3: if player.field_maybe_none('review_on_player_1_quan') is None: player.review_on_player_1_quan = random.randint(0, 10) player.review_on_player_1_quan_timeout = True if player.field_maybe_none('review_on_player_1_qual') is None: player.review_on_player_1_qual = random.randint(0, 10) player.review_on_player_1_qual_timeout = True page_sequence = [ResultsWaitPage, Review, Belief, ResultsWaitPage_2, ShowReview_1_Rework, ShowReview_2_Rework, ShowReview_3_Rework, Emotions]