from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Baptiste Obry' doc = """ Datenschutz für Experiment "Nullzählspiel" """ class Constants(BaseConstants): # Sorgt für "Verschleierung" in der URL name_in_url = 'fvlbi' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): # Variablen Datenschutzerklärung name = models.StringField(label="Bitte geben Sie hier Ihren vollständigen Namen (Vor- und Nachname) ein:") einwilligungBool = models.BooleanField(choices=[[True, 'Ja']],label="Stimmen Sie zu?",widget=widgets.RadioSelect, initial = False) # Stellt sicher, dass in String name keine Zahlen oder Sonderzeichen enthalten sind. Außerdem muss (mindestens) ein # Leerzeichen in String sein, da Vor- und Nachname erfasst werden sollen def name_error_message(self, value): print('value is', value) for character in value: if not(character.isalpha()) and (character != ' '): return 'Ihr Name kann keine Zahlen oder Sonderzeichen enthalten!' if not(' ' in value): return 'Bitte geben Sie Ihren Vor- und Nachnamen an bzw. trennen Sie diesen durch ein Leerzeichen!' # Benutzerdefinierter Export der Daten def custom_export(players): yield ['Name', 'Einwilligung', ] for p in players: yield [p.name, p.einwilligungBool ]