from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) from otree_tools.models.fields import OtherModelField author = 'Your name here' doc = """ Your app description """ class Constants(BaseConstants): name_in_url = 'final_questionnaire' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): age = models.IntegerField(label="What is your age?") gender = OtherModelField(label="What is your gender?",choices=['Male', 'Female'], other_label='Other') sibling_number = models.IntegerField(label="How many siblings do you have?") program_choices = ( ('ug', 'Undergraduate'), ('asp', 'ASP'), ('yif', 'YIF'), ('mls', 'MLS'), ('masters', 'Masters')) program = models.CharField(choices=program_choices, label="Which program are you a part of at Ashoka University?", widget=widgets.RadioSelect) potential_major_choices = ( ('psychology','Psychology'), ('mathematics','Mathematics'), ('cs','Computer Science'), ('econ','Economics'), ('physics','Physics'), ('socio','Sociology & Anthropology'), ('history','History'), ('english_lit','English Literature'), ('undecided', 'Undecided'), ('no_major', 'No Major (YIF)')) potential_major = models.CharField(choices=potential_major_choices,label='What is your potential major/ major (or potential major) at Ashoka University?') year_of_program = models.IntegerField(label="Which year are you in your program?") yes_no_common = ( ('yes','Yes'), ('no','No')) previous_experiments = models.CharField(choices=yes_no_common,label="Have you ever participated in any economics or psychology experimental studies before?", widget=widgets.RadioSelect) city = models.CharField(choices=yes_no_common,label="Do you belong to one of the following cities: Delhi, Mumbai, Bangalore, Chennai, Kolkata",widget=widgets.RadioSelect) importance_religion = models.IntegerField(label="On a scale from 0 to 10, how important is religion in your life?",widget=widgets.Slider(show_value=True,attrs={'step': '10'})) volunteer_work = models.CharField(choices=yes_no_common,label="In the past twelve months, have you done volunteer work for university clubs, societies or other nonprofit organizations?",widget=widgets.RadioSelect) ease_of_instruction = models.IntegerField(label="On a scale of 0 to 10, how easy was it to follow the instructions and complete the tasks in the experiment?",widget=widgets.Slider(show_value=True,attrs={'step': '10'})) hard_to_follow_instructions = models.TextField(label="If there were any instructions that you found hard to follow, please list them.") familiarity_with_music = models.IntegerField(label="On a scale from 0 to 10, please rate how familiar you were with the English and Hindi music you heard in Part 1 of the experiment",widget=widgets.Slider(show_value=True,attrs={'step': '10'})) communication_with_group = models.CharField(choices=yes_no_common,label="Did you communicate with your group members in Part 2 of the experiment?",widget=widgets.RadioSelect) helpfulness_of_communication = models.IntegerField(label="On a scale from 0 to 10, please rate how much you think communicating with your group members helped in the unscrambling task",widget=widgets.Slider(show_value=True,attrs={'class' : 'helpfulness_of_communication', 'step': '10'})) attachment_level = models.IntegerField(label="On a scale from 0 to 10, please rate how closely attached you felt to your own group throughout the experiment",widget=widgets.Slider(show_value=True,attrs={'step': '10'})) dictator_strategy_2people_choices = ( ('equally', 'Try to allocate equally between them.'), ('more_to_own_group','Try to allocate more to the one who was from your own group.'), ('more_to_other_group','Try to allocate more to the one who was from the other group.'), ('random','Randomly'), ('other', 'Other')) dictator_strategy_2people = models.CharField(label='In Part 3 when you had to allocate money or chances between the two other matched participants, how would you describe the strategy you used?',widget= widgets.RadioSelect,choices= dictator_strategy_2people_choices) dictator_strategy_2people = OtherModelField(label="In Part 3, when you had to allocate money or chances between the two other matched participants, how would you describe the strategy you used?",choices=['Try to allocate equally between them.','Try to allocate more to the one who was from your own group.','Try to allocate more to the one who was from the other group.','Randomly'],other_label='Other') dictator_strategy_3people_choices = ( 'Try to earn as much money as possible for myself.', 'Try to earn more money than my matches.', 'Try to earn as much money as possible for me and my match from my group.', 'Try to earn as much money as possible for me and my match from the other group.') dictator_strategy_3people = OtherModelField(choices=dictator_strategy_3people_choices,label='In Part 3 when you had to allocate money or chances between the two other participants and yourself, how would you describe the strategy you used?',other_label='Other') group_dynamic_influence = models.TextField(label="Overall, how did the group dynamics influence your decisions? ")