from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): pass class Send(Page): form_model = 'player' form_fields = ['sent_amount'] class Accept(Page): form_model = 'player' form_fields = ['accept_offer'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class Results(Page): def vars_for_template(self): me = self.player opponent = me.other_player() return dict( my_decision_send=me.sent_amount, opponent_decision_send=opponent.sent_amount, my_decision_accept=me.accept_offer, opponent_decision_accept=opponent.accept_offer, offer=Constants.endowment - opponent.sent_amount, ) def before_next_page(self): pay_ult = self.player.payoff self.player.participant.vars['ult_payoff'] = pay_ult page_sequence = [ Send, Accept, ResultsWaitPage, Results, ]