from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Welcome(Page): def vars_for_template(self): return {'treatment': Constants.treatment} # pass class SendA(Page): form_model = 'group' form_fields = ['sent_amountA'] def is_displayed(self): return self.player.id_in_group == 1 class SendB(Page): form_model = 'group' form_fields = ['sent_amountB'] def is_displayed(self): return self.player.id_in_group == 2 class WaitForP1(WaitPage): pass class SendBackA100(Page): form_model = 'group' form_fields = ['sent_back_amountA100'] def is_displayed(self): return self.player.id_in_group == 1 def vars_for_template(self): return dict(tripled_amountA=self.group.sent_amountB * Constants.multiplier) class SendBackA90(Page): form_model = 'group' form_fields = ['sent_back_amountA90'] def is_displayed(self): return self.player.id_in_group == 1 def vars_for_template(self): return dict(tripled_amountA=self.group.sent_amountB * Constants.multiplier) return {'sent_back_amountB100': group.sent_back_amountA100} class SendBackB100(Page): form_model = 'group' form_fields = ['sent_back_amountB100'] def is_displayed(self): return self.player.id_in_group == 2 def vars_for_template(self): return dict(tripled_amountB=self.group.sent_amountA * Constants.multiplier) class SendBackB90(Page): form_model = 'group' form_fields = ['sent_back_amountB90'] def is_displayed(self): return self.player.id_in_group == 2 def vars_for_template(self): return dict(tripled_amountB=self.group.sent_amountA * Constants.multiplier) return {'sent_back_amountB100': group.sent_back_amountB100} class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_payoffs' class Results(Page): pass page_sequence = [Welcome, SendA, SendB, WaitForP1, SendBackA100, SendBackB100, SendBackA90, SendBackB90, ResultsWaitPage, Results]