from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import jellyfish import datetime from datetime import date from datetime import timedelta class Introduction(Page): form_model = 'player' form_fields = ['subj_email', 'subj_key'] def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'example_rate_fixed': c(0.2), 'min_tasks': 0, 'max_tasks': 100, 'mandatory_tasks': self.session.config['mandatory_rounds'], } class Intro2(Page): def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'mandatory_tasks': self.session.config['mandatory_rounds'], 'date_1': self.session.config['day1'], 'date_2': self.session.config['day2'], 'date_3': self.session.config['day3'], 'date_4': self.session.config['day4'], 'date_5': self.session.config['day5'], 'date_6': self.session.config['day6'], 'date_7': self.session.config['day7'], 'date_8': self.session.config['day8'] } class AnonymityConsent(Page): form_model = 'player' form_fields = ['subj_consent'] def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'mandatory_tasks': self.session.config['mandatory_rounds'], } class Rewards1(Page): def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'mandatory_tasks': self.session.config['mandatory_rounds'], 'date_1': self.session.config['day1'], 'date_2': self.session.config['day2'], 'date_3': self.session.config['day3'], 'date_4': self.session.config['day4'], 'date_5': self.session.config['day5'], 'date_6': self.session.config['day6'], 'date_7': self.session.config['day7'], 'date_8': self.session.config['day8'] } class ArborDay(Page): def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'mandatory_tasks': self.session.config['mandatory_rounds'], } class Rewards2(Page): def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'mandatory_tasks': self.session.config['mandatory_rounds'], 'date_1': self.session.config['day1'], 'date_2': self.session.config['day2'], 'date_3': self.session.config['day3'], 'date_4': self.session.config['day4'], 'date_5': self.session.config['day5'], 'date_6': self.session.config['day6'], 'date_7': self.session.config['day7'], 'date_8': self.session.config['day8'], 'reward_tasks': self.session.config['workreward_tasks'], } class Rewards3(Page): def is_displayed(self): return self.round_number == 1 def vars_for_template(self): return { 'completion_fee': self.session.config['participation_fee'], 'failure_fee': c(self.session.config['incomplete_fee']), 'mandatory_tasks': self.session.config['mandatory_rounds'], 'date_1': self.session.config['day1'], 'date_2': self.session.config['day2'], 'date_3': self.session.config['day3'], 'date_4': self.session.config['day4'], 'date_5': self.session.config['day5'], 'date_6': self.session.config['day6'], 'date_7': self.session.config['day7'], 'date_8': self.session.config['day8'], 'reward_tasks': self.session.config['workreward_tasks'], } page_sequence = [ Introduction, Intro2, AnonymityConsent, Rewards3, ArborDay, Rewards2, ]