from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class ExchangeOffer(Page): timeout_seconds = 100 form_model = 'group' form_fields = ['request'] def is_displayed(self): if self.player.round_number % 2 == 1: return self.player.id_in_group == 1 else: return self.player.id_in_group == 2 class ExchangeOfferWaitPage(WaitPage): pass class ExchangeAccept(Page): timeout_seconds = 100 form_model = 'group' form_fields = ['accept'] def vars_for_template(self): return dict(offer=Constants.endowment - self.group.request) def is_displayed(self): if self.player.round_number % 2 == 1: return self.player.id_in_group == 2 else: return self.player.id_in_group == 1 class ResultsWaitPage(WaitPage): after_all_players_arrive = 'set_payoffs' class ExchangeResultsOdd(Page): def is_displayed(self): if self.player.round_number % 2 == 1: return True else: return False def vars_for_template(self): return dict(offer=Constants.endowment - self.group.request) class ExchangeResultsEven(Page): def is_displayed(self): if self.player.round_number % 2 == 0: return True else: return False def vars_for_template(self): return dict(offer=Constants.endowment - self.group.request) #the page order page_sequence = [ExchangeOffer, ExchangeOfferWaitPage, ExchangeAccept, ResultsWaitPage, ExchangeResultsOdd, ExchangeResultsEven]