# -*- coding: utf-8 -*- # """from __future__ import division import random import otree.models from otree.db import models from otree import widgets from otree.common import Currency as c, currency_range, safe_json from otree.constants import BaseConstants from otree.models import BaseSubsession, BaseGroup, BasePlayer""" # from otree.api import ( models, widgets, BaseConstants, BaseSubsession, BaseGroup, BasePlayer, Currency as c, currency_range, ) author = 'Aysegul Engin' doc = """ Survey App for the auction experiments contains demographics and cognitive reflection index """ class Constants(BaseConstants): name_in_url = 'survey' players_per_group = None num_rounds = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): def set_payoff(self): """Calculate payoff, which is zero for the survey""" self.payoff = 0 def set_is_crt_bat_correct(self): self.crt_bat_correct = self.crt_bat == 100 def set_is_crt_widget_correct(self): self.crt_widget_correct = self.crt_widget == 5 def set_is_crt_lake_correct(self): self.crt_lake_correct = self.crt_lake == 47 def set_crt_score(self): self.crt_score = getattr(self, 'crt_bat_correct') + getattr(self, 'crt_widget_correct') + getattr(self, 'crt_lake_correct') crt_bat_correct= models.BooleanField(initial = None) crt_widget_correct = models.BooleanField(initial = None) crt_lake_correct = models.BooleanField(initial = None) crt_score = models.PositiveIntegerField() q_studentID = models.StringField(initial = None, verbose_name = 'Enter your student ID number with the letter identifier (e.g. a12345678):') q_study_field = models.StringField(initial = None, verbose_name = 'What is your field of study?') q_mother_language = models.StringField(initial = None, verbose_name = 'What is your mother language?') q_english_knowledge = models.PositiveIntegerField(initial = None, verbose_name = 'How would you rate your knowledge of English on a scale from 1 (poor) to 5 (fluent) ?', choices = range(1,6), widget = widgets.RadioSelectHorizontal()) q_country = models.StringField(verbose_name='What is your country of citizenship?') q_age = models.PositiveIntegerField(verbose_name='What is your age?', choices=range(16, 100), initial=None) q_gender = models.StringField(initial=None, choices=['Male', 'Female'], verbose_name='What is your gender?', widget=widgets.RadioSelectHorizontal()) crt_bat = models.PositiveIntegerField() crt_widget = models.PositiveIntegerField() crt_lake = models.PositiveIntegerField()