from otree.api import * class C(BaseConstants): NAME_IN_URL = 'basic_info' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): objectives= models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "研究の目的" ) methods = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "実験の方法" ) researcher = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "研究を実施する研究者" ) expenses = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "研究のための費用" ) participants = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "対象とする研究参加者" ) voluntariness= models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "実験への参加が任意であること(実験への参加は任意であり、参加しないことで不利益な対応を受けないこと。また、いつでも同意を撤回でき、撤回しても何ら不利益を受けないこと。)" ) danger = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "この実験への参加に伴う危害の可能性" ) insurance = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "傷害保険等への加入について" ) payment = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "実験への参加に伴う謝金" ) results = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "研究成果の公表について" ) privacy = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "個人情報の取り扱いについて" ) ipr = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "知的財産権の帰属" ) inquiry = models.IntegerField(choices=[ [1, "はい"], [0, "いいえ"], ], label = "問い合わせ先、苦情等の連絡先" ) year = models.IntegerField(choices = [ [3, "2023"], [4, "2024"] ], label = "年" ) month = models.IntegerField(choices = [ [1, "1月"], [2, "2月"], [3, "3月"], [4, "4月"], [5, "5月"], [6, "6月"], [7, "7月"], [8, "8月"], [9, "9月"], [10, "10月"], [11, "11月"], [12, "12月"] ], label = "月" ) day = models.IntegerField(choices = [ [1, "1日"], [2, "2日"], [3, "3日"], [4, "4日"], [5, "5日"], [6, "6日"], [7, "7日"], [8, "8日"], [9, "9日"], [10, "10日"], [11, "11日"], [12, "12日"], [13, "13日"], [14, "14日"], [15, "15日"], [16, "16日"], [17, "17日"], [18, "18日"], [19, "19日"], [20, "20日"], [21, "21日"], [22, "22日"], [23, "23日"], [24, "24日"], [25, "25日"], [26, "26日"], [27, "27日"], [28, "28日"], [29, "29日"], [30, "30日"], [31, "31日"] ], label = "日" ) name = models.StringField(label = "研究参加者書名" ) # PAGES class Discription(Page): pass class Agreement(Page): form_model = 'player' form_fields = ["objectives", "methods", "researcher", "expenses", "participants", "voluntariness", "danger", "insurance", "payment", "results", "privacy", "ipr", "inquiry", "year", "month", "day", "name" ] @staticmethod def error_message(player, values): if values["objectives"] == 0 or values["methods"] == 0 or values["researcher"] == 0 or values["expenses"] == 0 or values["participants"] == 0 or values["voluntariness"] == 0 or values["danger"] == 0 or values["insurance"] == 0 or values["payment"] == 0 or values["results"] == 0 or values["privacy"] == 0 or values["ipr"] == 0 or values["inquiry"] == 0: return 'You cannot participate in the survey unless you agree to participate. Please consult the staff.
' page_sequence =[ Discription, Agreement ]