from otree.api import *
import random
class C(BaseConstants):
NAME_IN_URL = 'Description_DCE'
PLAYERS_PER_GROUP = None
NUM_ROUNDS = 1
TRT = ["noTreatments"]
class Subsession(BaseSubsession):
pass
class Group(BaseGroup):
pass
class Player(BasePlayer):
trt = models.StringField()
Ctrl_Car = models.IntegerField(label="Wie sind Sie laut Beschreibung in den Urlaub gereist?",
blank=True, choices=[
[11, 'Mit dem Zug'],
[12, 'Mit dem Flugzeug'],
[1, 'Mit dem eigenen PKW'],
[13, 'Mit dem Fahrrad']
])
Ctrl_Partner = models.IntegerField(label="Mit wem sind Sie laut Beschreibung in den Urlaub gereist?",
blank=True, choices=[
[11, 'Mit meinem Partner/meiner Partnerin'],
[12, 'Mit meinen Eltern'],
[13, 'Mit meinen Kindern'],
[1, 'Mit einer erwachsenen Begleitperson']
])
Ctrl_Holiday = models.IntegerField(label="In welcher Jahreszeit sind Sie laut Beschreibung in den Urlaub gereist?",
blank=True, choices=[
[1, 'Sommer'],
[12, 'Winter']
])
class Description_DCE_Intro(Page):
@staticmethod
def is_displayed(player):
return player.participant.vars.get('survey_participate') == 1
class Description_DCE_single(Page):
@staticmethod
def is_displayed(player):
return player.participant.vars.get('survey_participate') == 1
class Description_DCE_control(Page):
form_model = 'player'
form_fields = ['Ctrl_Car', 'Ctrl_Partner', 'Ctrl_Holiday']
@staticmethod
def is_displayed(player):
return player.participant.vars.get('survey_participate') == 1
@staticmethod
def error_message(player, values):
correct = 1 # <- the correct code
if values['Ctrl_Car'] != correct:
return "Leider sind nicht alle Fragen korrekt beantwortet. Bitte lesen die Situationsbeschreibung noch einmal."
if values['Ctrl_Holiday'] != correct:
return "Leider sind nicht alle Fragen korrekt beantwortet. Bitte lesen die Situationsbeschreibung noch einmal."
if values['Ctrl_Partner'] != correct:
return "Leider sind nicht alle Fragen korrekt beantwortet. Bitte lesen die Situationsbeschreibung noch einmal."
page_sequence = [Description_DCE_Intro,
Description_DCE_single,
Description_DCE_control]