e4c_expe2/a4_questappli/models.py

120 lines
2.8 KiB
Python
Raw Normal View History

2025-03-30 12:32:15 +02:00
from otree.api import (
models,
widgets,
BaseConstants,
BaseSubsession,
BaseGroup,
BasePlayer,
Currency as c,
currency_range,
)
doc = """
author = 'Wael Bousselmi'
Exp E4C
"""
class Constants(BaseConstants):
name_in_url = 'a4_questappli'
players_per_group = None
num_rounds = 1
class Subsession(BaseSubsession):
pass
class Group(BaseGroup):
pass
class Player(BasePlayer):
q1_app_installation = models.IntegerField(
choices=[
[0, "I didn't know such an app existed"],
[1, "I didn't install it because I wasn't interested"],
[2, "I didn't install it because I couldn't"],
[3, "I installed it but never used it"],
[4, "I installed it and used it a few times"],
[5, "I installed it and used it regularly"],
],
widget=widgets.RadioSelect,
label="1) A mobile application for residents of Building 103 was developed last spring. Did you install it?",
blank=False
)
q2_satisfaction = models.IntegerField(
choices=[
[1, "Very satisfied"],
[2, "Satisfied"],
[3, "Dissatisfied"],
[4, "Very dissatisfied"],
[5, "Not applicable"],
],
widget=widgets.RadioSelect,
label="2) If yes, how satisfied are you with it?",
blank=False
)
q3_comments = models.LongStringField(
label="3) Any comments about this application?",
blank=True
)
q4_access_data = models.IntegerField(
choices=[
[0, "I did not download the application"],
[1, "I downloaded the application, but I did not have access to this data"],
[2, "I downloaded the application, and I had access to this data"],
],
widget=widgets.RadioSelect,
label="4) Did the application give you access to your apartments water and energy consumption?",
blank=False
)
q5_weekly_reports = models.IntegerField(
choices=[
[0, "No"],
[1, "Yes, by mail"],
[2, "Yes, by email"],
[3, "Yes, by both mail and email"],
],
widget=widgets.RadioSelect,
label="5) Did you receive weekly reports, either by mail or email, in addition to the application, regarding your apartments water and energy consumption?",
blank=False
)
q6_energy_comparison = models.IntegerField(
choices=[[i, str(i)] for i in range(1, 7)],
label="",
widget=widgets.RadioSelectHorizontal,
blank = False
)
q7_water_comparison = models.IntegerField(
choices=[[i, str(i)] for i in range(1, 7)],
label="",
widget=widgets.RadioSelectHorizontal,
blank = False
)