from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) author = 'Stefan Probst' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'Masterarbeit' players_per_group = None num_rounds = 4 tasks_klassisch = ['M1', 'M2', 'M3', 'M4'] instructions_template = 'Masterarbeit_startpage/instructions.html' class Subsession(BaseSubsession): def creating_session(self): import random if self.round_number == 1: for p in self.get_players(): p.participant.vars['Zuordnung'] = random.choice(['agil', 'klassisch']) for p in self.get_players(): p.treatment = p.participant.vars['Zuordnung'] class Group(BaseGroup): pass class Player(BasePlayer): #Felder email = models.StringField(blank=True) treatment = models.StringField() #klassisch# dauer_phase_1 = models.FloatField(initial=0) dauer_phase_2 = models.FloatField(initial=0) dauer_phase_3 = models.FloatField(initial=0) dauer_phase_4 = models.FloatField(initial=0) zuordnung_modul_1 = models.IntegerField( choices=[1, 2, 3, 4], widget=widgets.RadioSelectHorizontal ) zuordnung_modul_2 = models.IntegerField( choices=[1, 2, 3, 4], widget=widgets.RadioSelectHorizontal ) zuordnung_modul_3 = models.IntegerField( choices=[1, 2, 3, 4], widget=widgets.RadioSelectHorizontal ) zuordnung_modul_4 = models.IntegerField( choices=[1, 2, 3, 4], widget=widgets.RadioSelectHorizontal ) #agil# modul_1 = models.StringField( choices=['im folgenden Sprint bearbeiten', 'im folgenden Sprint nicht bearbeiten'], widget = widgets.RadioSelectHorizontal ) modul_2 = models.StringField( choices=['im folgenden Sprint bearbeiten', 'im folgenden Sprint nicht bearbeiten'], widget=widgets.RadioSelectHorizontal ) modul_3 = models.StringField( choices=['im folgenden Sprint bearbeiten', 'im folgenden Sprint nicht bearbeiten'], widget=widgets.RadioSelectHorizontal ) modul_4 = models.StringField( choices=['im folgenden Sprint bearbeiten', 'im folgenden Sprint nicht bearbeiten'], widget=widgets.RadioSelectHorizontal ) #Methoden --> hier Testmethode für Template def payoff_modul_1(self): return 1000