Test_Johanne/quest_demo/models.py
2025-03-06 10:33:03 +01:00

174 lines
4.8 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from otree.api import (
models,
widgets,
BaseConstants,
BaseSubsession,
BaseGroup,
BasePlayer,
Currency as c,
currency_range,
)
class Constants(BaseConstants):
name_in_url = 'quest_demo'
players_per_group = None
num_rounds = 1
class Subsession(BaseSubsession):
pass
class Group(BaseGroup):
pass
class Player(BasePlayer):
task_start_1 = models.FloatField()
task_time_1 = models.FloatField()
num_errors = models.IntegerField()
genre = models.IntegerField(
choices=[
[0, 'Un homme'],
[1, 'Une femme'],
],
widget=widgets.RadioSelectHorizontal,
label="1 - Vous êtes ...",
blank=False
)
age = models.IntegerField(
choices=[
[0, '0-17 ans'],
[1, '18-25 ans'],
[2, '26-35 ans'],
[3, '36-45 ans'],
[4, '46-55 ans'],
[5, '56-65 ans'],
[6, 'plus de 65 ans'],
],
widget=widgets.RadioSelectHorizontal,
label="2 - Quel est votre âge ?",
blank=False,
min = 0,
max = 100,
)
pays = models.StringField(
label="3 - Quel est votre pays de résidence ?",
blank=False,
)
code_postal = models.IntegerField(
label="4 - Quel est votre code postale ?",
blank=False,
min = 0,
max = 99999,
)
salaire = models.IntegerField(
choices=[
[0, 'Moins de 1250 €'],
[1, 'Entre 1250 et 1400 €'],
[2, 'Entre 1400 et 1550 €'],
[3, 'Entre 1550 et 1700 €'],
[4, 'Entre 1700 et 1850 €'],
[5, 'Entre 1850 et 2050 €'],
[6, 'Entre 2050 et 2350 €'],
[7, 'Entre 2350 et 2800 €'],
[8, 'Entre 2800 et 3700 €'],
[9, 'Plus de 3700 €'],
],
widget=widgets.RadioSelect,
label="5 - Quel est approximativement votre niveau de salaire mensuel ?",
blank=False
)
socio_pro = models.IntegerField(
choices=[
[0, 'agriculteurs exploitants'],
[1, 'artisans, commerçants et chefs d''entreprise'],
[2, 'cadres et professions intellectuelles supérieures'],
[3, 'professions intermédiaires (cadres moyens)'],
[4, 'employés et personnel de service'],
[5, 'ouvriers qualifiés'],
[6, 'manœuvres et ouvriers spécialisés'],
[7, 'autres personnes sans activité professionnelle'],
[8, 'étudiant'],
],
widget=widgets.RadioSelect,
label="6 - Quelle est/était votre catégorie socio-professionnelle ?",
blank=False
)
annee_naissance = models.IntegerField(
label="7 - Quelle est votre année de naissance ?",
blank=False,
min=1900,
max=2010,
)
etudes = models.IntegerField(
choices=[
[0, 'Aucun diplôme ou certificat détudes primaires'],
[1, 'Brevet des collèges'],
[2, 'CAP, BEP ou équivalent'],
[3, 'Baccalauréat, brevet professionnel ou équivalent'],
[4, 'Diplôme du supérieur court (niveau bac +2)'],
[5, 'Diplôme du supérieur long (supérieur à bac +2)'],
],
widget=widgets.RadioSelect,
label="8 - Quel est le plus haut diplôme que vous avez obtenu ? Si toujours étudiant, quel est le diplôme dans lequel vous êtes actuellement inscrit ?",
blank=False
)
police_question1 = models.IntegerField(
choices=[
[0, 'Très satisfaisante'],
[1, 'Satisfaisante'],
[2, 'Peu satisfaisante'],
[3, 'Pas du tout satisfaisante'],
],
widget=widgets.RadioSelectHorizontal,
label="9 - A propos de laction en général de la police ou de la gendarmerie nationale dans la société française actuelle, vous diriez généralement quelle est …",
blank=False
)
police_question2 = models.IntegerField(
choices=[
[0, 'Souvent'],
[1, 'De temps en temps'],
[2, 'Rarement'],
[3, 'Jamais'],
],
widget=widgets.RadioSelectHorizontal,
label="10 - Vous arrive-t-il personnellement de vous sentir en insécurité dans votre quartier ou votre village ?",
blank=False
)
police_question3 = models.IntegerField(
choices=[
[0, 'Pas du tout daccord'],
[1, 'Plutôt pas daccord'],
[2, 'Plutôt daccord'],
[3, 'Tout à fait daccord'],
],
widget=widgets.RadioSelectHorizontal,
label="11 - Imaginons que dans le futur vous soyez la victime dun vol. Vous êtes certain daller le déclarer auprès de la police.",
blank=False
)