from otree.api import Currency as c, currency_range from otree.models import subsession from .models import Subsession from datetime import datetime, timedelta from ._builtin import Page, WaitPage from .models import Constants ''' class Results1(Page): def vars_for_template(self): if self.participant.vars['payoff_time_date'] == 0: payment_today = c(self.participant.vars['payoff_risk'] + self.player.participant.vars['payoff_ambig']) payment_tomorrow = c(self.participant.vars['payoff_time']) payment_4w = c(0) else: payment_today = c(self.participant.vars['payoff_risk'] + self.player.participant.vars['payoff_ambig']) payment_tomorrow = c(0) payment_4w = c(self.participant.vars['payoff_time']) orig_payment = payment_today + payment_tomorrow + payment_4w if orig_payment < c(10): total_payment = c(10) payment_today = c(10 - payment_tomorrow - payment_4w) else: total_payment = orig_payment payment_today = payment_today if self.participant.vars['payoff_time_date'] == 1: d = datetime.now() + timedelta(days=28) date = d.strftime('%b-%d-%Y') delayed_pay_date = date else: delayed_pay_date = None compl_link = str('https://insead.sona-systems.com/webstudy_credit.aspx?experiment_id=651&credit_token=a817f1d795cd4965a2de7e17843111e4&survey_code=') + str(self.participant.label) return { 'payment_risk': c(self.player.participant.vars['payoff_risk']), 'payment_time': c(self.player.participant.vars['payoff_time']), 'payment_ambig': c(self.player.participant.vars['payoff_ambig']), 'orig_payment': orig_payment, 'total_payment': total_payment, 'payment_today': payment_today, 'payment_tomorrow': payment_tomorrow, 'payment_4w': payment_4w, 'delayed_date': delayed_pay_date, 'compl_link': compl_link, 'id': self.participant.label, } def before_next_page(self): # set payment variables self.player.set_payment_vars() ''' class Results2(Page): form_model = 'player' form_fields = ['paypal'] """for test def vars_for_template(self): if self.participant.vars['payoff_time_date'] == 0: payment_today = c(self.participant.vars['payoff_risk'] + self.player.participant.vars['payoff_ambig']) payment_tomorrow = c(self.participant.vars['payoff_time']) payment_4w = c(0) else: payment_today = c(self.participant.vars['payoff_risk'] + self.player.participant.vars['payoff_ambig']) payment_tomorrow = c(0) payment_4w = c(self.participant.vars['payoff_time']) orig_payment = payment_today + payment_tomorrow + payment_4w if orig_payment < c(10): total_payment = c(10) payment_today = c(10 - payment_tomorrow - payment_4w) else: total_payment = orig_payment payment_today = payment_today if self.participant.vars['payoff_time_date'] == 1: d = datetime.now() + timedelta(days=28) date = d.strftime('%b-%d-%Y') delayed_pay_date = date else: delayed_pay_date = None compl_link = str('https://insead.sona-systems.com/webstudy_credit.aspx?experiment_id=630&credit_token=0197e24034a04164a3530be9a34dde1c&survey_code=') + str(self.participant.label) return { 'payment_risk': c(self.player.participant.vars['payoff_risk']), 'payment_time': c(self.player.participant.vars['payoff_time']), 'payment_ambig': c(self.player.participant.vars['payoff_ambig']), 'orig_payment': orig_payment, 'total_payment': total_payment, 'payment_today': payment_today, 'payment_tomorrow': payment_tomorrow, 'payment_4w': payment_4w, 'delayed_date': delayed_pay_date, 'compl_link': compl_link, 'id': self.participant.label, } """ def vars_for_template(self): pvars = self.participant.vars payoff_time_date = pvars.get('payoff_time_date', 0) payoff_risk = pvars.get('payoff_risk', 0) payoff_ambig = pvars.get('payoff_ambig', 0) payoff_time = pvars.get('payoff_time', 0) if payoff_time_date == 0: payment_today = c(payoff_risk + payoff_ambig) payment_tomorrow = c(payoff_time) payment_4w = c(0) else: payment_today = c(payoff_risk + payoff_ambig) payment_tomorrow = c(0) payment_4w = c(payoff_time) orig_payment = payment_today + payment_tomorrow + payment_4w if orig_payment < c(10): total_payment = c(10) payment_today = c(10 - payment_tomorrow - payment_4w) else: total_payment = orig_payment if payoff_time_date == 1: d = datetime.now() + timedelta(days=28) delayed_pay_date = d.strftime('%b-%d-%Y') else: delayed_pay_date = None compl_link = ( 'https://insead.sona-systems.com/webstudy_credit.aspx?experiment_id=630' '&credit_token=0197e24034a04164a3530be9a34dde1c&survey_code=' + str(self.participant.label) ) return { 'payment_risk': c(payoff_risk), 'payment_time': c(payoff_time), 'payment_ambig': c(payoff_ambig), 'orig_payment': orig_payment, 'total_payment': total_payment, 'payment_today': payment_today, 'payment_tomorrow': payment_tomorrow, 'payment_4w': payment_4w, 'delayed_date': delayed_pay_date, 'compl_link': compl_link, 'id': self.participant.label, } def before_next_page(self): # set payment variables self.player.set_payment_vars() class Debrief(Page): def vars_for_template(self): compl_link = str('https://insead.sona-systems.com/webstudy_credit.aspx?experiment_id=630&credit_token=0197e24034a04164a3530be9a34dde1c&survey_code=') + str(self.participant.label) return { 'compl_link': compl_link, 'id': self.participant.label, } page_sequence = [ #Results1, Results2, Debrief ]