from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range ) doc = '' class Constants(BaseConstants): name_in_url = 'Survey2' 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', max=120, min=13) gender = models.StringField(choices=[['Male', 'Male'], ['Female', 'Female']], label='What is your gender', widget=widgets.RadioSelect) pay_taxes = models.BooleanField(choices=[[True, 'Yes'], [False, 'No']], label='Do you currently pay taxes in your country? ', widget=widgets.RadioSelectHorizontal) occupation = models.StringField(choices=[['College, University, and Adult Education', 'College, University, and Adult Education'], ['Unemployed', 'Unemployed'], ['Retired', 'Retired'], ['Agriculture, Forestry, Fishing and Hunting\t ', 'Agriculture, Forestry, Fishing and Hunting\t '], ['Mining', 'Mining'], ['Utilities\t ', 'Utilities\t '], ['Construction', 'Construction'], ['Computer and Electronics ', 'Computer and Electronics '], ['Manufacturing\t ', 'Manufacturing\t '], ['Other Manufacturing', 'Other Manufacturing'], ['Wholesale\t ', 'Wholesale\t '], ['Retail', 'Retail'], ['Transportation and Warehousing\t ', 'Transportation and Warehousing\t '], ['Publishing', 'Publishing'], ['Software\t ', 'Software\t '], ['Telecommunications', 'Telecommunications'], ['Broadcasting\t ', 'Broadcasting\t '], ['Information Services and Data Processing', 'Information Services and Data Processing'], ['Other Information Industry\t ', 'Other Information Industry\t '], ['Finance and Insurance', 'Finance and Insurance'], ['Real Estate, Rental and Leasing', 'Real Estate, Rental and Leasing'], ['Primary/Secondary (K-12) Education', 'Primary/Secondary (K-12) Education'], ['Other Education Industry', 'Other Education Industry'], ['Health Care and Social Assistance\t ', 'Health Care and Social Assistance\t '], ['Arts, Entertainment, and Recreation', 'Arts, Entertainment, and Recreation'], ['Hotel and Food Services\t ', 'Hotel and Food Services\t '], ['Government and Public Administration', 'Government and Public Administration'], ['Legal Services\t ', 'Legal Services\t '], ['Scientific or Technical Services', 'Scientific or Technical Services'], ['Homemaker\t ', 'Homemaker\t '], ['Military', 'Military'], ['Religious', 'Religious'], ['Other Industry', 'Other Industry']], label='Current occupation ') country = models.StringField(choices=[['Afghanistan', 'Afghanistan'], ['Albania', 'Albania'], ['Algeria', 'Algeria'], ['Andorra', 'Andorra'], ['Angola', 'Angola'], ['Antigua and Barbuda', 'Antigua and Barbuda'], ['Argentina', 'Argentina'], ['Armenia', 'Armenia'], ['Australia', 'Australia'], ['Austria', 'Austria'], ['Azerbaijan', 'Azerbaijan'], ['Bahamas', 'Bahamas'], ['Bahrain', 'Bahrain'], ['Bangladesh', 'Bangladesh'], ['Barbados', 'Barbados'], ['Belarus', 'Belarus'], ['Belgium', 'Belgium'], ['Belize', 'Belize'], ['Benin', 'Benin'], ['Bhutan', 'Bhutan'], ['Bolivia', 'Bolivia'], ['Bosnia and Herzegovina', 'Bosnia and Herzegovina'], ['Botswana', 'Botswana'], ['Brazil', 'Brazil'], ['Brunei', 'Brunei'], ['Bulgaria', 'Bulgaria'], ['Burkina Faso', 'Burkina Faso'], ['Burundi', 'Burundi'], ['Cabo Verde', 'Cabo Verde'], ['Cambodia', 'Cambodia'], ['Cameroon', 'Cameroon'], ['Canada', 'Canada'], ['Central African Republic (CAR)', 'Central African Republic (CAR)'], ['Chad', 'Chad'], ['Chile', 'Chile'], ['China', 'China'], ['Colombia', 'Colombia'], ['Comoros', 'Comoros'], ['Congo, Democratic Republic of the', 'Congo, Democratic Republic of the'], ['Congo, Republic of the', 'Congo, Republic of the'], ['Costa Rica', 'Costa Rica'], ["Cote d'Ivoire", "Cote d'Ivoire"], ['Croatia', 'Croatia'], ['Cuba', 'Cuba'], ['Cyprus', 'Cyprus'], ['Czechia', 'Czechia'], ['Denmark', 'Denmark'], ['Djibouti', 'Djibouti'], ['Dominica', 'Dominica'], ['Dominican Republic', 'Dominican Republic'], ['Ecuador', 'Ecuador'], ['Egypt', 'Egypt'], ['El Salvador', 'El Salvador'], ['Equatorial Guinea', 'Equatorial Guinea'], ['Eritrea', 'Eritrea'], ['Estonia', 'Estonia'], ['Eswatini (formerly Swaziland)', 'Eswatini (formerly Swaziland)'], ['Ethiopia', 'Ethiopia'], ['Fiji', 'Fiji'], ['Finland', 'Finland'], ['France', 'France'], ['Gabon', 'Gabon'], ['Gambia', 'Gambia'], ['Georgia', 'Georgia'], ['Germany', 'Germany'], ['Ghana', 'Ghana'], ['Greece', 'Greece'], ['Grenada', 'Grenada'], ['Guatemala', 'Guatemala'], ['Guinea', 'Guinea'], ['Guinea-Bissau', 'Guinea-Bissau'], ['Guyana', 'Guyana'], ['Haiti', 'Haiti'], ['Honduras', 'Honduras'], ['Hungary', 'Hungary'], ['Iceland', 'Iceland'], ['India', 'India'], ['Indonesia', 'Indonesia'], ['Iran', 'Iran'], ['Iraq', 'Iraq'], ['Ireland', 'Ireland'], ['Israel', 'Israel'], ['Italy', 'Italy'], ['Jamaica', 'Jamaica'], ['Japan', 'Japan'], ['Jordan', 'Jordan'], ['Kazakhstan', 'Kazakhstan'], ['Kenya', 'Kenya'], ['Kiribati', 'Kiribati'], ['Kosovo', 'Kosovo'], ['Kuwait', 'Kuwait'], ['Kyrgyzstan', 'Kyrgyzstan'], ['Laos', 'Laos'], ['Latvia', 'Latvia'], ['Lebanon', 'Lebanon'], ['Lesotho', 'Lesotho'], ['Liberia', 'Liberia'], ['Libya', 'Libya'], ['Liechtenstein', 'Liechtenstein'], ['Lithuania', 'Lithuania'], ['Luxembourg', 'Luxembourg'], ['Madagascar', 'Madagascar'], ['Malawi', 'Malawi'], ['Malaysia', 'Malaysia'], ['Maldives', 'Maldives'], ['Mali', 'Mali'], ['Malta', 'Malta'], ['Marshall Islands', 'Marshall Islands'], ['Mauritania', 'Mauritania'], ['Mauritius', 'Mauritius'], ['Mexico', 'Mexico'], ['Micronesia', 'Micronesia'], ['Moldova', 'Moldova'], ['Monaco', 'Monaco'], ['Mongolia', 'Mongolia'], ['Montenegro', 'Montenegro'], ['Morocco', 'Morocco'], ['Mozambique', 'Mozambique'], ['Myanmar (formerly Burma)', 'Myanmar (formerly Burma)'], ['Namibia', 'Namibia'], ['Nauru', 'Nauru'], ['Nepal', 'Nepal'], ['Netherlands', 'Netherlands'], ['New Zealand', 'New Zealand'], ['Nicaragua', 'Nicaragua'], ['Niger', 'Niger'], ['Nigeria', 'Nigeria'], ['North Korea', 'North Korea'], ['North Macedonia (formerly Macedonia)', 'North Macedonia (formerly Macedonia)'], ['Norway', 'Norway'], ['Oman', 'Oman'], ['Pakistan', 'Pakistan'], ['Palau', 'Palau'], ['Palestine', 'Palestine'], ['Panama', 'Panama'], ['Papua New Guinea', 'Papua New Guinea'], ['Paraguay', 'Paraguay'], ['Peru', 'Peru'], ['Philippines', 'Philippines'], ['Poland', 'Poland'], ['Portugal', 'Portugal'], ['Qatar', 'Qatar'], ['Romania', 'Romania'], ['Russia', 'Russia'], ['Rwanda', 'Rwanda'], ['Saint Kitts and Nevis', 'Saint Kitts and Nevis'], ['Saint Lucia', 'Saint Lucia'], ['Saint Vincent and the Grenadines', 'Saint Vincent and the Grenadines'], ['Samoa', 'Samoa'], ['San Marino', 'San Marino'], ['Sao Tome and Principe', 'Sao Tome and Principe'], ['Saudi Arabia', 'Saudi Arabia'], ['Senegal', 'Senegal'], ['Serbia', 'Serbia'], ['Seychelles', 'Seychelles'], ['Sierra Leone', 'Sierra Leone'], ['Singapore', 'Singapore'], ['Slovakia', 'Slovakia'], ['Slovenia', 'Slovenia'], ['Solomon Islands', 'Solomon Islands'], ['Somalia', 'Somalia'], ['South Africa', 'South Africa'], ['South Korea', 'South Korea'], ['South Sudan', 'South Sudan'], ['Spain', 'Spain'], ['Sri Lanka', 'Sri Lanka'], ['Sudan', 'Sudan'], ['Suriname', 'Suriname'], ['Sweden', 'Sweden'], ['Switzerland', 'Switzerland'], ['Syria', 'Syria'], ['Taiwan', 'Taiwan'], ['Tajikistan', 'Tajikistan'], ['Tanzania', 'Tanzania'], ['Thailand', 'Thailand'], ['Timor-Leste', 'Timor-Leste'], ['Togo', 'Togo'], ['Tonga', 'Tonga'], ['Trinidad and Tobago', 'Trinidad and Tobago'], ['Tunisia', 'Tunisia'], ['Turkey', 'Turkey'], ['Turkmenistan', 'Turkmenistan'], ['Tuvalu', 'Tuvalu'], ['Uganda', 'Uganda'], ['Ukraine', 'Ukraine'], ['United Arab Emirates (UAE)', 'United Arab Emirates (UAE)'], ['United Kingdom (UK)', 'United Kingdom (UK)'], ['United States of America (USA)', 'United States of America (USA)'], ['Uruguay', 'Uruguay'], ['Uzbekistan', 'Uzbekistan'], ['Vanuatu', 'Vanuatu'], ['Vatican City (Holy See)', 'Vatican City (Holy See)'], ['Venezuela', 'Venezuela'], ['Vietnam', 'Vietnam'], ['Yemen', 'Yemen'], ['Zambia', 'Zambia'], ['Zimbabwe', 'Zimbabwe']], label='Where are you located?') number1 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 1/10 of $2.00, 9/10 of $1.60 | (B): 1/10 of $3.85, 9/10 of $0.10', widget=widgets.RadioSelectHorizontal) number2 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 2/10 of $2.00, 8/10 of $1.60 | (B): 2/10 of $3.85, 8/10 of $0.10', widget=widgets.RadioSelectHorizontal) number3 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 3/10 of $2.00, 7/10 of $1.60 | (B): 3/10 of $3.85, 7/10 of $0.10', widget=widgets.RadioSelectHorizontal) number4 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 4/10 of $2.00, 6/10 of $1.60 | (B): 4/10 of $3.85, 6/10 of $0.10', widget=widgets.RadioSelectHorizontal) number5 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 5/10 of $2.00, 5/10 of $1.60 | (B): 5/10 of $3.85, 5/10 of $0.10', widget=widgets.RadioSelectHorizontal) number6 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 6/10 of $2.00, 4/10 of $1.60 | (B): 6/10 of $3.85, 4/10 of $0.10', widget=widgets.RadioSelectHorizontal) number7 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 7/10 of $2.00, 3/10 of $1.60 | (B): 7/10 of $3.85, 3/10 of $0.10', widget=widgets.RadioSelectHorizontal) number8 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 8/10 of $2.00, 2/10 of $1.60 | (B): 8/10 of $3.85, 2/10 of $0.10', widget=widgets.RadioSelectHorizontal) number9 = models.BooleanField(choices=[[True, 'A'], [False, 'B']], label='(A): 9/10 of $2.00, 1/10 of $1.60 | (B): 9/10 of $3.85, 1/10 of $0.10', widget=widgets.RadioSelectHorizontal) understood_declare_income_different = models.IntegerField(choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, "Don't Know"]], label='I understood that I could declare an income different from the amount earned. (Where 1 is (strongly agree) and 7 is (strongly disagree)) ', widget=widgets.RadioSelectHorizontal) understood_likelihood = models.IntegerField(choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, "Don't Know"]], label='I understood the likelihood of getting audited. (Where 1 is (strongly agree) and 7 is (strongly disagree)). ', widget=widgets.RadioSelectHorizontal) declared_rules = models.IntegerField(choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, "Don't Know"]], label='I declared all my income because that was the rules. (Where 1 is (strongly agree) and 7 is (strongly disagree)) ', widget=widgets.RadioSelectHorizontal) think_declared = models.IntegerField(choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, "Don't Know"]], label="I didn't even think of not declaring all my income. (Where 1 is (strongly agree) and 7 is (strongly disagree)) ", widget=widgets.RadioSelectHorizontal) afraid_declared = models.IntegerField(choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, "Don't Know"]], label='I was worried about being audited so I declared all my income. (Where 1 is (strongly agree) and 7 is (strongly disagree)) ', widget=widgets.RadioSelectHorizontal) more_money_not_declare = models.IntegerField(choices=[[1, '1'], [2, '2'], [3, '3'], [4, '4'], [5, '5'], [6, '6'], [7, '7'], [8, "Don't Know"]], label='I understood that I could potentially make more money by under-declaring my income. (Where 1 is (strongly agree) and 7 is (strongly disagree)) ', widget=widgets.RadioSelectHorizontal) likelihood_audit = models.IntegerField(choices=[[1, 'Lower than stated'], [2, 'Same as stated'], [3, 'Higher than stated'], [4, "Don't Know"]], label='During the experiment I thought the likelihood of being audited was', widget=widgets.RadioSelect) ver_code = models.StringField() education = models.IntegerField(choices=[[1, 'None'], [2, 'Primary'], [3, 'Middle'], [4, 'Secondary'], [5, 'Associate'], [6, "Bachelor's "], [7, "Master's"], [8, 'Doctorate'], [9, 'Other']], label='Education') def generate_string(self): import random import string letters = string.ascii_lowercase self.ver_code = ''.join(random.choice(letters) for i in range(6))