from os import environ SESSION_CONFIGS = [ dict( name='NK_Leader', app_sequence=['training','voting','Pay','noPay'], num_demo_participants=80, returnlink='https://app.prolific.com/submissions/complete?cc=CF9TZ75J', # This participant does not get paid completionlink='https://app.prolific.com/submissions/complete?cc=CDCQXY48', # Paid just for completing the training bonuslink='https://app.prolific.com/submissions/complete?cc=CI8NOHYJ', # Paid on performance which is a bonus ), ] # if you set a property in SESSION_CONFIG_DEFAULTS, it will be inherited by all configs # in SESSION_CONFIGS, except those that explicitly override it. # the session config can be accessed from methods in your apps as self.session.config, # e.g. self.session.config['participation_fee'] SESSION_CONFIG_DEFAULTS = dict( # Participation fee is for the training:) real_world_currency_per_point=0.0025, participation_fee=1.5, doc="" ) # Want to organise the fields logically # TK: Initial force_submits and local vs global distinction # PARTICIPANT_FIELDS = [ # Shuffle order within-participant 'button_labels','button_values', 'button_labels_who','button_values_who', # Training pages 'consented','attn_fail','training_fail','fail_shown','committed', # Pay logic 'correct_class_key', 'correct_speed_key', 'correct_total_payoff', 'shuffled_payment_choices', 'correct_payment_answer_value', 'pay_qus', # correctly answered pay questions 'pay_trained', 'pay_attended', 'attention_check_answer', # Added after bases for practice questions # New interface logic variables TKTK likely not used anymore, check later 'scenario_index','correct_personal_string','correct_strategy_string','correct_governance_string', # UI with the button labels as well 'button_estimates', 'scenario_text', 'correct_personal_string', 'correct_strategy_string', 'correct_authority_string', 'correct_personal_answer', 'correct_strategy_answer', 'correct_governance_answer', # Interface logic 'correct_personal_answer', 'correct_strategy_answer', 'correct_governance_answer', 'vote_qus', 'vote_trained', # New icon text logic 'scenario_text', 'correct_authority_string', #Icon array logic 'shuffled_icon_choices', 'correct_icon_answer_value', 'correct_icon_description', 'icon_strategy_tally', 'icon_qus', 'icon_trained', # Experiment pages 'wait_page_arrival','grouped','is_single','force_submits','strategy_tally', # Inactivity handling 'active','forced_submit','which_inactive','local_forced_submits','global_forced_submits','resurrections','resurrect_me','admonish', # Payment 'payment', 'reason', 'pay_APP', 'voting_APP','votes','speed','score','link_code'] SESSION_FIELDS = ['bribed_sim_com', 'bribed_com_sim', 'not_bribed_sim_com', 'not_bribed_com_sim'] ROOMS = [ dict( name='prolific_13_04_26', display_name='prolific_13_04_26', ), ] # ISO-639 code # for example: de, fr, ja, ko, zh-hans LANGUAGE_CODE = 'en' # e.g. EUR, GBP, CNY, JPY REAL_WORLD_CURRENCY_CODE = 'USD' USE_POINTS = True ADMIN_USERNAME = 'admin' # for security, best to set admin password in an environment variable ADMIN_PASSWORD = environ.get('OTREE_ADMIN_PASSWORD') DEMO_PAGE_INTRO_HTML = """ """ SECRET_KEY = '6413462513297'