from otree.api import * # This section concerns the HUMAN CONDITION class C(BaseConstants): NAME_IN_URL = 'thesis_fr_hu' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): age = models.IntegerField(label='Quel âge avez-vous ?', min=13, max=125) gender = models.StringField( choices=[['Male', 'Homme'], ['Female', 'Femme'], ['Other', 'Autre']], label='Vous êtes : ', widget=widgets.RadioSelect, ) studylevel = models.StringField( choices=[['1', 'Bac'], ['2', 'BTS/DUT'],['3', 'Licence'], ['5', 'Master'], ['8', 'Doctorat'],['0', 'Autre']], label='Quel est votre niveau d\'étude ?', widget=widgets.RadioSelect, ) workenv = models.StringField( choices=[['1', 'Littérature, langues, histoire de l\'art, etc.'], ['2', 'Psychologie, sociologie, sciences economiques, sciences politiques, droit, etc.'], ['3', 'Biologie, médecine, etc.'], ['4', 'Physique, chimie, etc.'], ['5', 'Informatique, génie civil, mathématiques, électronique, etc.'], ['0', 'Autre']], label='Dans quel domaine travaillez-vous/étudiez-vous ?', widget=widgets.RadioSelect, ) trustalgo = models.StringField( choices=[['1', '1 - Aucune confiance'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Confiance totale']], label='En général, quel est votre confiance pour les algorithmes de recommandation ?', widget=widgets.RadioSelect ) # Work assignment Task wa_fairness = models.StringField( choices=[['1', '1 - Très injuste'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Très juste']], label='Dans quelle mesure est-il juste ou injuste pour Chris que le directeur l\'affecte au travail d\'entretien ?', widget=widgets.RadioSelect, ) wa_trust = models.StringField( choices=[['1', '1 - Aucune confiance'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Confiance totale']], label='Dans quelle mesure avez-vous confiance en le fait que le directeur prenne des décisions d\'affectation du travail de bonne qualité ?', widget=widgets.RadioSelect, ) wa_happy = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Heureux ?', widget=widgets.RadioSelect, ) wa_joyful = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Joyeux ?', widget=widgets.RadioSelect, ) wa_proud = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Fier ?', widget=widgets.RadioSelect, ) wa_disappointed = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Déçu ?', widget=widgets.RadioSelect, ) wa_angry = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='En colère ?', widget=widgets.RadioSelect, ) wa_frustrated = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Frustré ?', widget=widgets.RadioSelect, ) # Work scheduling task ws_fairness = models.StringField( choices=[['1', '1 - Très injuste'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Très juste']], label='Dans quelle mesure est-il juste ou injuste pour Riley que le directeur prenne cette décision de planification du travail ?', widget=widgets.RadioSelect, ) ws_trust = models.StringField( choices=[['1', '1 - Aucune confiance'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Confiance totale']], label='Dans quelle mesure faites-vous confiance au directeur pour établir des horaires de travail de qualité ?', widget=widgets.RadioSelect, ) ws_happy = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Heureuse ?', widget=widgets.RadioSelect, ) ws_joyful = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Joyeuse ?', widget=widgets.RadioSelect, ) ws_proud = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Fière ?', widget=widgets.RadioSelect, ) ws_disappointed = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Déçue ?', widget=widgets.RadioSelect, ) ws_angry = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='En colère ?', widget=widgets.RadioSelect, ) ws_frustrated = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Frustrée ?', widget=widgets.RadioSelect, ) # Hiring task hi_fairness = models.StringField( choices=[['1', '1 - Très injuste'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Très juste']], label='Est-il juste ou injuste pour Alex que le directeur examine sa candidature ?', widget=widgets.RadioSelect, ) hi_trust = models.StringField( choices=[['1', '1 - Aucune confiance'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Confiance totale']], label='Dans quelle mesure faites-vous confiance au directeur pour faire des embauches de qualité ?', widget=widgets.RadioSelect, ) hi_happy = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Heureux ?', widget=widgets.RadioSelect, ) hi_joyful = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Joyeux ?', widget=widgets.RadioSelect, ) hi_proud = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Fier ?', widget=widgets.RadioSelect, ) hi_disappointed = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Déçu ?', widget=widgets.RadioSelect, ) hi_angry = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='En colère ?', widget=widgets.RadioSelect, ) hi_frustrated = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Frustré ?', widget=widgets.RadioSelect, ) # Evaluation task ev_fairness = models.StringField( choices=[['1', '1 - Très injuste'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Très juste']], label='Est-il juste ou injuste pour Jayln que le directeur évalue ses performances ?', widget=widgets.RadioSelect, ) ev_trust = models.StringField( choices=[['1', '1 - Aucune confiance'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Confiance totale']], label='Dans quelle mesure faites-vous confiance au directeur pour évaluer la qualité de son travail ?', widget=widgets.RadioSelect, ) ev_happy = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Heureux ?', widget=widgets.RadioSelect, ) ev_joyful = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Joyeux ?', widget=widgets.RadioSelect, ) ev_proud = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Fier ?', widget=widgets.RadioSelect, ) ev_disappointed = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Déçu ?', widget=widgets.RadioSelect, ) ev_angry = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='En colère ?', widget=widgets.RadioSelect, ) ev_frustrated = models.StringField( choices=[['1', '1 - Pas du tout d’accord'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7 - Tout à fait d\'accord']], label='Frustré ?', widget=widgets.RadioSelect, ) attention_check = models.StringField( choices=[['1', '1'], ['2', '2'], ['3', '3'], ['4', '4'], ['5', '5'], ['6', '6'], ['7', '7']], label='Vérification d\'attention', widget=widgets.RadioSelect, ) # FUNCTIONS # PAGES class Demographics(Page): form_model = 'player' form_fields = ['trustalgo','age', 'gender','studylevel','workenv'] class Work_assignment_tf(Page): form_model = 'player' form_fields = ['wa_fairness', 'wa_trust'] class Work_assignment_emo(Page): form_model = 'player' form_fields = ['wa_happy', 'wa_joyful', 'wa_proud', 'wa_disappointed', 'wa_angry', 'wa_frustrated'] class Work_scheduling_tf(Page): form_model = 'player' form_fields = ['ws_fairness','ws_trust'] class Work_scheduling_emo(Page): form_model = 'player' form_fields = ['ws_happy','ws_joyful','ws_proud','ws_disappointed','ws_angry','ws_frustrated'] class Hiring_tf(Page): form_model = 'player' form_fields = ['hi_fairness','hi_trust'] class Hiring_emo(Page): form_model = 'player' form_fields = ['hi_happy','hi_joyful','hi_proud','hi_disappointed','hi_angry','hi_frustrated'] class Eva_tf(Page): form_model = 'player' form_fields = ['ev_fairness','ev_trust'] class Eva_emo(Page): form_model = 'player' form_fields = ['ev_happy','ev_joyful','ev_proud','ev_disappointed','ev_angry','ev_frustrated'] class First_scenario(Page): form_model='player' class Second_scenario(Page): form_model='player' class Third_scenario(Page): form_model='player' class Fourth_scenario(Page): form_model='player' class PresentationPage(Page): form_model = 'player' class Attention_check(Page): form_model = 'player' form_fields = ['attention_check'] class ThankYou(Page): form_model='player' page_sequence = [PresentationPage, First_scenario, Work_assignment_tf,Work_assignment_emo, Second_scenario, Work_scheduling_tf,Work_scheduling_emo, Attention_check, Third_scenario, Hiring_tf,Hiring_emo, Fourth_scenario, Eva_tf,Eva_emo, Demographics, ThankYou]