import random from random import randrange, random, randint from gneezy_potters.config import * from otree.api import * from . import models author = 'Your name here' class Constants(BaseConstants): name_in_url = 'test' players_per_group = None num_rounds = 1 indicator = True class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): test1 = models.IntegerField(label="Haben Sie einen Amazon Gutschein von Ergo-Data erhalten?", choices=[[1, "Ja"], [2, "Nein"]], widget=widgets.RadioSelect) test2 = models.CurrencyField(verbose_name="Wie hoch wäre der Schaden an Ihrem Hausrat, wenn Sie einen " "Gutschein i.H.v. EUR 8 von Ergo-Data erhalten hätten? ", choices=currency_range(c(0), c(10), c(1))) test3 = models.CurrencyField(verbose_name="Wie hoch wäre der Schaden an Ihrem Hausrat, wenn Sie einen " "Gutschein in der i.H.v. EUR 2 von Ergo-Data erhalten hätten? ", choices=currency_range(c(0), c(10), c(1))) test4_choice1 = models.BooleanField(blank=True) test4_choice2 = models.BooleanField(blank=True) test4_choice3 = models.BooleanField() test4_choice4 = models.BooleanField() def test1_error_message(player, value): if value != 1: return 'Sie haben einen Gutschein von Ergo-Data erhalten.' def test2_error_message(player, value): if value != 2: return 'Der Schaden an Ihrem Hausrat beträgt EUR 2.' def test3_error_message(player, value): if value != 8: return 'Der Schaden an Ihrem Hausrat beträgt EUR 8.' def test4_choice1_error_message(player, value): if value: return 'Nur Sie und Ergo-Data haben Kenntnis bzgl. der Höhe des Betrages, den Sie von Ergo-Data erhalten haben.' def test4_choice2_error_message(player, value): if value: return 'Nur Sie und Ergo-Data haben Kenntnis bzgl. der Höhe des Betrages, den Sie von Ergo-Data erhalten haben.' def test4_choice3_error_message(player, value): if not value: return 'Nur Sie und Ergo-Data haben Kenntnis bzgl. der Höhe des Betrages, den Sie von Ergo-Data erhalten haben.' def test4_choice4_error_message(player, value): if not value: return 'Nur Sie und Ergo-Data haben Kenntnis bzgl. der Höhe des Betrages, den Sie von Ergo-Data erhalten haben.' class Test(Page): form_model = "player" form_fields = ['test1', 'test2', 'test3', 'test4_choice1', 'test4_choice2', 'test4_choice3', 'test4_choice4'] class Test2(Page): form_model = "player" form_fields = ['test2'] @staticmethod def q2_error_message(player, value) : print('value is', value) if value != 2.00 : return 'Erklaerung: Der Schaden an Ihrem Hausrat beträgt CHF 2.' class Test3(Page): form_model = "player" form_fields = ['test3'] @staticmethod def q3_error_message(player, value) : print('value is', value) if value != 8.00 : return 'Erklaerung: Der Schaden an Ihrem Hausrat beträgt CHF 8' class Test4(Page): form_model = "player" form_fields = ['correct_statements'] @staticmethod def get_form_fields(player: Player): return [lang['name'] for lang in Constants.Antworten] # PAGES # class CognitiveReflectionTest(Page): # form_model = 'player' # form_fields = ['crt_bat', # 'crt_widget', # 'crt_lake'] page_sequence = [ Test ] # page_sequence.append(GroupAttitude)