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 = 'Questionnaire' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): age = models.PositiveIntegerField( verbose_name="What is your age?", min=18, max=65) gender = models.CharField( choices=['Male', 'Female', 'Transgender','Do not identify as female, male, or transgender'], verbose_name="What gender do you identify with?", widget=widgets.RadioSelect()) political = models.CharField( verbose_name='Where would you place YOURSELF on this scale?', choices=['Extremely liberal', 'Liberal', 'Slightly liberal', 'Moderate; middle of the road', 'Slightly conservative', 'Conservative', 'Extremely conservative'], widget=widgets.RadioSelect() ) education = models.CharField( verbose_name='What is the highest degree you earned?', choices=['High school diploma or equivalency (GED)', 'Associate degree (junior college)', "Bachelor's degree", "Master's degree", "Doctorate", "Professional (MD, JD, DDS, etc.)", "None of the above (less than high school)"], widget=widgets.RadioSelect() ) income = models.CharField( verbose_name=' How much did you earn, before taxes and other deductions, during the past 12 months?', choices=['Less than $5,000', '$5,000 through $11,999', '$12,000 through $15,999', '$16,000 through $24,999', '$25,000 through $34,999', '$35,000 through $49,999', '$50,000 through $74,999', '$75,000 through $99,999', '$100,000 and greater', "Don't know"], widget=widgets.RadioSelect() ) tip_1 = models.CharField( choices=['Most people can be trusted','Can’t be too careful'], verbose_name="Generally speaking, would you say that most people can be trusted " "or that you can’t be too careful in dealing with people?", widget=widgets.RadioSelect() ) tip_2 = models.CharField( choices=['Try to be helpful', 'Look out for themselves'], verbose_name=''' Would you say that most of the time, people try to be helpful, or that they are mostly just looking out for themselves? ''', widget=widgets.RadioSelect() ) tip_3 = models.CharField( choices=['Take advantage', 'Try to be fair'], verbose_name=''' Do you think that most people would try to take advantage of you if they got the chance or would they try to be fair? ''', widget=widgets.RadioSelect() ) gts_1 = models.PositiveIntegerField( verbose_name='Most people are basically honest.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) gts_2 = models.PositiveIntegerField( verbose_name='Most people are trustworthy.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) gts_3 = models.PositiveIntegerField( verbose_name='Most people are basically good and kind.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) gts_4 = models.PositiveIntegerField( verbose_name='Most people are trustful of others.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) gts_5 = models.PositiveIntegerField( verbose_name='I am trustful.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) gts_6 = models.PositiveIntegerField( verbose_name='Most people will respond in kind when they are trusted by others.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) ts_1 = models.PositiveIntegerField( verbose_name='Most people tell a lie when they can benefit by doing so.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) ts_2 = models.PositiveIntegerField( verbose_name='Those devoted to unselfish causes are often exploited by others.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) ts_3 = models.PositiveIntegerField( verbose_name='Some people do not cooperate because they pursue only their own short-term self-interest. Thus, ' 'things that can be done well if people cooperate often fail because of these people.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) ts_4 = models.PositiveIntegerField( verbose_name='Most people are basically honest.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) ts_5 = models.PositiveIntegerField( verbose_name='There will be more people who will not work if the social security system is developed further.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) ch_1 = models.PositiveIntegerField( verbose_name='Most people dislike putting themselves out to help other people.', choices=range(1, 7, 1), widget=widgets.RadioSelectHorizontal() ) ch_2 = models.PositiveIntegerField( verbose_name='Most poeple will use somewhat unfair means to gain profit or an advantage rather than lose it.', choices=range(1, 7, 1), widget=widgets.RadioSelectHorizontal() ) ch_3 = models.PositiveIntegerField( verbose_name='No one cares much what happens to you.', choices=range(1, 7, 1), widget=widgets.RadioSelectHorizontal() ) ch_4 = models.PositiveIntegerField( verbose_name='I think most poeple would lie in order to get ahead.', choices=range(1, 7, 1), widget=widgets.RadioSelectHorizontal() ) ch_5 = models.PositiveIntegerField( verbose_name='I commonly wonder what hidden reasons another person may have for doing something nice for me.', choices=range(1, 7, 1), widget=widgets.RadioSelectHorizontal() ) rs_1 = models.PositiveIntegerField( verbose_name="I'll make him/her pay.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_2 = models.PositiveIntegerField( verbose_name='I keep as much distance between us as possible.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_3 = models.PositiveIntegerField( verbose_name='I wish that something bad would happen to him/her.', choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_4 = models.PositiveIntegerField( verbose_name="I live as if he / she doesn't exist, isn't around.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_5 = models.PositiveIntegerField( verbose_name="I don't trust him / her.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_6 = models.PositiveIntegerField( verbose_name="I want him / her to get what he / she deserves.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_7 = models.PositiveIntegerField( verbose_name="I find it difficult to act warmly toward him / her.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_8 = models.PositiveIntegerField( verbose_name="I avoid him / her.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_9 = models.PositiveIntegerField( verbose_name="I'm going to get even.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_10 = models.PositiveIntegerField( verbose_name="I cut off the relationship with him / her.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_11 = models.PositiveIntegerField( verbose_name="I want to see him / her hurt and miserable.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) rs_12 = models.PositiveIntegerField( verbose_name="I withdraw from him / her.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_1 = models.PositiveIntegerField( verbose_name="I have helped push a stranger's care that was broken down or out of gas.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_2 = models.PositiveIntegerField( verbose_name="I have given directions to a stranger.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_3 = models.PositiveIntegerField( verbose_name="I have made change for a stranger.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_4 = models.PositiveIntegerField( verbose_name="I have given money to a charity.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_5 = models.PositiveIntegerField( verbose_name="I have given money to a stranger who needed it (or asked me for it).", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_6 = models.PositiveIntegerField( verbose_name="I have donated goods or clothes to a charity.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_7 = models.PositiveIntegerField( verbose_name="I have done volunteer work for a charity.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_8 = models.PositiveIntegerField( verbose_name="I have donated blood.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_9 = models.PositiveIntegerField( verbose_name="I have helped carry a stranger's belongings (books, parcels, etc).", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_10 = models.PositiveIntegerField( verbose_name="I have delayed an elevator and held the door open for a stranger.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_11 = models.PositiveIntegerField( verbose_name="I have allowed someone to go ahead of me in a lineup " "(in the supermarket, at a copy machine, at a fast-food restaurant).", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_12 = models.PositiveIntegerField( verbose_name="I have given a stranger a lift in my car.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_13 = models.PositiveIntegerField( verbose_name="I have pointed out a clerk's error " "(in a bank, at the supermarket) in undercharging me for an item.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_14 = models.PositiveIntegerField( verbose_name="I have let a neighbor whom I didn't know too well borrow an item" " of some value to me (eg, a dish, tools, etc).", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_15 = models.PositiveIntegerField( verbose_name="I have bought 'charity' holiday cards deliberately because I knew it was a good cause.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_16 = models.PositiveIntegerField( verbose_name="I have helped a classmate who I did not know that well with an " "assignment when my knowledge was greater than his or hers.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_17 = models.PositiveIntegerField( verbose_name="I have, before being asked, voluntarily looked after a neighbor's " "pets or children without being paid for it.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_18 = models.PositiveIntegerField( verbose_name="I have offered to help a handicapped or elderly stranger across a street.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_19 = models.PositiveIntegerField( verbose_name="I have offered my seat on a bus or train to a stranger who was standing.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_20 = models.PositiveIntegerField( verbose_name="I have helped an acquaintance to move households.", choices=range(1, 6, 1), widget=widgets.RadioSelectHorizontal() ) aps_21 = models.PositiveIntegerField() debrief_1 = models.CharField( verbose_name="Were the instructions clear to you?", choices=['Yes','No'], widget=widgets.RadioSelectHorizontal(), blank=True ) debrief_2 = models.CharField( verbose_name='If you answered "No" to the question above, what was unclear to you?', blank=True ) debrief_3 = models.CharField( verbose_name='What do you think the study is about?', blank=True ) debrief_4 = models.CharField( verbose_name='Do you have any suggestions for us?', blank=True )