from ._builtin import Page, WaitPage from otree.api import Currency as c, currency_range from .models import Constants from leavable_wait_page.pages import LeavableWaitPage, SkippablePage class StartWaitPage(LeavableWaitPage): allow_leaving_after = 2 class Introduction(SkippablePage): """Description of the game: How to play and returns expected""" pass class Contribute(SkippablePage): """Player: Choose how much to contribute""" form_model = 'player' form_fields = ['contribution'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() body_text = "Waiting for other participants to contribute." class Results(SkippablePage): """Players payoff: How much each has earned""" def vars_for_template(self): return { 'total_earnings': self.group.total_contribution * Constants.multiplier, } page_sequence = [ StartWaitPage, Introduction, Contribute, ResultsWaitPage, Results ]