from datetime import date from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Bonus(Page): pass class Results(Page): def vars_for_template(self): participant = self.participant ### PRO ### self.player.pro_paying_round = participant.vars['PRO_paying_round'] self.player.pro_rule = participant.vars['PRO_rule'] self.player.pro_investment_1 = participant.vars['PRO_investment_1'] self.player.pro_investment_2 = participant.vars['PRO_investment_2'] self.player.pro_investment_3 = participant.vars['PRO_investment_3'] self.player.pro_investment_4 = participant.vars['PRO_investment_4'] self.player.pro_total_investment_1 = participant.vars['PRO_total_investment_1'] self.player.pro_total_investment_2 = participant.vars['PRO_total_investment_2'] self.player.pro_total_investment_3 = participant.vars['PRO_total_investment_3'] self.player.pro_total_investment_4 = participant.vars['PRO_total_investment_4'] self.player.pro_result_status_1 = participant.vars['PRO_result_1'] self.player.pro_result_status_2 = participant.vars['PRO_result_2'] self.player.pro_result_status_3 = participant.vars['PRO_result_3'] self.player.pro_result_status_4 = participant.vars['PRO_result_4'] self.player.pro_total_payoff_1 = participant.vars['PRO_total_payoff_1'] self.player.pro_total_payoff_2 = participant.vars['PRO_total_payoff_2'] self.player.pro_total_payoff_3 = participant.vars['PRO_total_payoff_3'] self.player.pro_total_payoff_4 = participant.vars['PRO_total_payoff_4'] self.player.pro_payment_1 = participant.vars['PRO_payment_1'] self.player.pro_payment_2 = participant.vars['PRO_payment_2'] self.player.pro_payment_3 = participant.vars['PRO_payment_3'] self.player.pro_payment_4 = participant.vars['PRO_payment_4'] self.player.pro_payoff = participant.vars['PRO_payoff'] ### EA ### self.player.ea_paying_round = participant.vars['EA_paying_round'] self.player.ea_rule = participant.vars['EA_rule'] self.player.ea_investment_1 = participant.vars['EA_investment_1'] self.player.ea_investment_2 = participant.vars['EA_investment_2'] self.player.ea_investment_3 = participant.vars['EA_investment_3'] self.player.ea_investment_4 = participant.vars['EA_investment_4'] self.player.ea_total_investment_1 = participant.vars['EA_total_investment_1'] self.player.ea_total_investment_2 = participant.vars['EA_total_investment_2'] self.player.ea_total_investment_3 = participant.vars['EA_total_investment_3'] self.player.ea_total_investment_4 = participant.vars['EA_total_investment_4'] self.player.ea_result_status_1 = participant.vars['EA_result_1'] self.player.ea_result_status_2 = participant.vars['EA_result_2'] self.player.ea_result_status_3 = participant.vars['EA_result_3'] self.player.ea_result_status_4 = participant.vars['EA_result_4'] self.player.ea_total_payoff_1 = participant.vars['EA_total_payoff_1'] self.player.ea_total_payoff_2 = participant.vars['EA_total_payoff_2'] self.player.ea_total_payoff_3 = participant.vars['EA_total_payoff_3'] self.player.ea_total_payoff_4 = participant.vars['EA_total_payoff_4'] self.player.ea_payment_1 = participant.vars['EA_payment_1'] self.player.ea_payment_2 = participant.vars['EA_payment_2'] self.player.ea_payment_3 = participant.vars['EA_payment_3'] self.player.ea_payment_4 = participant.vars['EA_payment_4'] self.player.ea_payoff = participant.vars['EA_payoff'] ### EL ### self.player.el_paying_round = participant.vars['EL_paying_round'] self.player.el_rule = participant.vars['EL_rule'] self.player.el_investment_1 = participant.vars['EL_investment_1'] self.player.el_investment_2 = participant.vars['EL_investment_2'] self.player.el_investment_3 = participant.vars['EL_investment_3'] self.player.el_investment_4 = participant.vars['EL_investment_4'] self.player.el_total_investment_1 = participant.vars['EL_total_investment_1'] self.player.el_total_investment_2 = participant.vars['EL_total_investment_2'] self.player.el_total_investment_3 = participant.vars['EL_total_investment_3'] self.player.el_total_investment_4 = participant.vars['EL_total_investment_4'] self.player.el_result_status_1 = participant.vars['EL_result_1'] self.player.el_result_status_2 = participant.vars['EL_result_2'] self.player.el_result_status_3 = participant.vars['EL_result_3'] self.player.el_result_status_4 = participant.vars['EL_result_4'] self.player.el_total_payoff_1 = participant.vars['EL_total_payoff_1'] self.player.el_total_payoff_2 = participant.vars['EL_total_payoff_2'] self.player.el_total_payoff_3 = participant.vars['EL_total_payoff_3'] self.player.el_total_payoff_4 = participant.vars['EL_total_payoff_4'] self.player.el_payment_1 = participant.vars['EL_payment_1'] self.player.el_payment_2 = participant.vars['EL_payment_2'] self.player.el_payment_3 = participant.vars['EL_payment_3'] self.player.el_payment_4 = participant.vars['EL_payment_4'] self.player.el_payoff = participant.vars['EL_payoff'] #Difference self.player.pro_answer = participant.vars['belief_answer_1'] self.player.ea_answer = participant.vars['belief_answer_2'] self.player.el_answer = participant.vars['belief_answer_3'] self.player.pro_truth = participant.vars['belief_truth_1'] self.player.ea_truth = participant.vars['belief_truth_2'] self.player.el_truth = participant.vars['belief_truth_3'] self.player.belief_to_pay = participant.vars['belief_to_pay'] self.player.belief_payoff = participant.vars['belief_payoff'] self.player.belief_pro_result = participant.vars['belief_res_1'] self.player.belief_ea_result = participant.vars['belief_res_2'] self.player.belief_el_result = participant.vars['belief_res_3'] # Risk self.player.risk_1 = participant.vars['Risk_1'] self.player.risk_2 = participant.vars['Risk_2'] self.player.risk_3 = participant.vars['Risk_3'] self.player.risk_paying_round = participant.vars['Risk_paying_round'] self.player.risk_payoff = participant.vars['Risk_payoff'] self.player.risk_blm_pay = participant.vars['blm_to_pay'] player_in_all_rounds = self.player.in_all_rounds() return dict(player_in_all_rounds=player_in_all_rounds) class Payment(Page): form_model = 'player' form_fields = ["iban", "name", "surname", 'payment_method', "own_iban", "other_iban", "other_name", "other_surname", 'other_relation'] def after_all_players_arrive(self): for p in self.group.get_players(): p.participant.payoff_plus_participation_fee() #p.pro_payment = p.participant.vars.get('PRO_payment') #p.pro_investment = p.participant.vars.get('PRO_investment') #p.pro_paying_round = p.participant.vars.get('PRO_paying_round') def vars_for_template(self): participant = self.participant return { 'redemption_code': participant.label or participant.code, 'id': participant.id_in_session, 'date': str(date.today()), 'final_payoff_with_showup': self.participant.payoff_plus_participation_fee() } def error_message(self, values): if values['payment_method'] and values['own_iban'] and values['name'] == None: return 'Lütfen isim bilgisi giriniz.' if values['payment_method'] and values['own_iban'] and values['iban'] == None: return 'Lütfen IBAN bilgisi giriniz.' if values['payment_method'] and values['own_iban'] and values['surname'] == None: return 'Lütfen soyisim bilgisi giriniz.' if values['payment_method'] and values['own_iban'] == False and values['other_relation'] == None: return 'Lütfen yakınlık bilgisi giriniz.' if values['payment_method'] and values['own_iban'] == False and values['other_name'] == None: return 'Lütfen isim bilgisi giriniz.' if values['payment_method'] and values['own_iban'] == False and values['other_surname'] == None: return 'Lütfen soyisim bilgisi giriniz.' if values['payment_method'] and values['own_iban'] == False and values['other_iban'] == None: return 'Lütfen IBAN bilgisi giriniz.' class Final(Page): def vars_for_template(self): participant = self.participant return { 'redemption_code': participant.label or participant.code, 'id': participant.id_in_session, 'date': str(date.today()), 'final_payoff_with_showup': self.participant.payoff_plus_participation_fee() } page_sequence = [Bonus, Results, Payment, Final]