from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class WaitBeforeResults(WaitPage): wait_for_all_groups = True class Results(Page): def vars_for_template(self) -> dict: if self.session.config.get('variant', 'standard') == 'persistent': vars_dict = { 'collected_orange_tokens': self.participant.vars.get('sum_orange_tokens', 0), 'blue_tokens_in_pot': self.participant.vars.get('blue_tokens_in_pot', 0), 'remainder_orange_tokens': self.participant.vars.get('remainder_orange_tokens', 0) } else: vars_dict = { 'collected_orange_tokens': self.participant.vars.get('sum_orange_tokens', 0), } return vars_dict class Demographics(Page): form_model = 'player' form_fields = ['strategy', 'age', 'gender', 'major', 'risk', 'patience', 'social_preference'] def before_next_page(self): self.player.set_indicators() class Payments(Page): def vars_for_template(self) -> dict: return { 'sum_orange_tokens': self.participant.vars.get('sum_orange_tokens', 0), 'eur_per_orange_token': self.session.vars.get('EUR_PER_ORANGE_TOKEN', 0.01), 'final_payoff_with_showup': self.participant.payoff_plus_participation_fee() } page_sequence = [ WaitBeforeResults, Results, Demographics, Payments ]