from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'start' players_per_group = 4 num_rounds = 1 start_money = 23 participation_fee = 3 round_loss = 3 zero_rounds = 8 pie = [23, 20, 17, 14, 11, 8, 5, 2] instructions = 'start/summary.html' class Subsession(BaseSubsession): def creating_session(self): for player in self.get_players(): player.treatment = self.session.config['treat'] #0=control,1=voice, 2=comm class Group(BaseGroup): type = models.StringField() class Player(BasePlayer): #cubicle = models.IntegerField(label="Before we get started, please enter the number of your computer cubicle.") treatment = models.IntegerField() quiz1 = models.BooleanField(label="", choices=[(True, "Yes"), (False, "No")], widget=widgets.RadioSelect) def quiz1_error_message(player, value): print('value is', value) if value: return 'Please revise.' quiz2 = models.IntegerField(label="") def quiz2_error_message(player, value): print('value is', value) if value != Constants.pie[2]: return 'Please revise.' quiz3 = models.IntegerField(label="") def quiz3_error_message(player, value): print('value is', value) if value != Constants.pie[5]: return 'Please revise.' quiz4 = models.BooleanField(label="", choices=[(True, "Yes"), (False, "No")], widget=widgets.RadioSelect) def quiz4_error_message(player, value): print('value is', value) if value: return 'Please revise.'