from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Introduction(Page): def is_displayed(self): return self.round_number == 1 class Instructions(Page): pass class CheckUnderstandingM(Page): form_model = 'player' form_fields = ['mq1', 'mq2'] def is_displayed(self): return self.player.id_in_group == 1 class CheckUnderstandingE(Page): form_model = 'player' form_fields = ['eq1', 'eq2'] def is_displayed(self): return self.player.id_in_group == 2 class Offer(Page): form_model = 'group' form_fields = ['wage'] def is_displayed(self): return self.player.id_in_group == 1 class OfferWaitPage(WaitPage): def vars_for_template(self): if self.player.id_in_group == 1: body_text = "Warte bis dein Mitarbeiter sein Anstrengungsniveau gewählt hat." else: body_text = "Auf Manager warten." return {'body_text': body_text} class Employee(Page): form_model = 'group' form_fields = ['response_{}'.format(int(i)) for i in Constants.wage_options] def is_displayed(self): return self.player.id_in_group == 2 class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class Results(Page): def vars_for_template(self): return { "wage": self.group.wage, "effort": self.group.work_effort } class ThankYou(Page): pass page_sequence = [ Introduction, Instructions, CheckUnderstandingM, CheckUnderstandingE, Offer, Employee, OfferWaitPage, ResultsWaitPage, Results, ThankYou ]