from otree.api import * import random DEBUG = False ### todo: Set to False for real experiment & controlstages working / True doc = """ "Environmental Experiment". """ class C(BaseConstants): NAME_IN_URL = 'Environmental_Screening' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 DSGVO_PAGE = __name__ + '/Datenschutz.html' class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): einwilligung1 = models.BooleanField( label="Ich willige in die Teilnahme an der oben beschriebenen Studie ein.", choices=[ [1, "Ja"], [0, "Nein"], ], widget=widgets.RadioSelect, ) einwilligung2 = models.BooleanField( label = "Ich willige hiermit ein (Art. 6 Abs. 1 lit. a DSGVO), dass meine übermittelten persönlichen Daten gespeichert und verarbeitet werden dürfen. Ich versichere, dass ich über 16 Jahre alt bin bzw. die Zustimmung der / des Sorgeberechtigten zur Nutzung des Kontaktes und Weitergabe der Daten vorliegt. Die Datenschutzerklärung zum Formular habe ich gelesen. Das Recht des Widerrufs ist mir bekannt.", choices=[ [1, "Ja"], [0, "Nein"], ], widget=widgets.RadioSelect, ) type = models.IntegerField( label="", ) prolificID = models.StringField( label="Bitte tragen Sie hier Ihre Prolific ID ein:", ) typeQ1 = models.IntegerField( label="Fanden Sie die Erklärungen zu den 6 Umwelteinstellungen verständlich?", choices=[ [1, "Ja"], [0, "Nein"], ], widget=widgets.RadioSelect, ) typeQ1_comment = models.StringField( blank=True, label="Falls nicht, warum?", ) typeQ2 = models.IntegerField( label="Waren die Unterschiede zwischen den 6 Umwelteinstellungen für Sie verständlich?", choices=[ [1, "Ja"], [0, "Nein"], ], widget=widgets.RadioSelect, ) typeQ2_comment = models.StringField( blank=True, label="Falls nicht, warum?", ) def prolificID_error_message(player, value): if len(value) != 24: return "Ihre Prolific ID muss 24 Zeichen (Buchstaben & Zahlen) lang sein." class Welcome(Page): form_model = 'player' form_fields = ['einwilligung1', 'einwilligung2'] class ProlificID(Page): form_model = 'player' form_fields = ['prolificID'] class Instructions(Page): form_model = 'player' class Type(Page): form_model = 'player' form_fields = ['type'] # def before_next_page(player: Player, timeout_happened): # if player.player_Type <= 4: # player.user_Role = "Employee" # else: # player.user_Role = "Employer" # # print('UserRole', player.user_Role) class Questions(Page): form_model = 'player' form_fields = ['typeQ1', 'typeQ1_comment', 'typeQ2', 'typeQ2_comment'] class FinalPage(Page): form_model = 'player' page_sequence = [Welcome, ProlificID, Instructions, Type, Questions, FinalPage, ]