from otree.api import Currency as c, currency_range from . import models from ._builtin import Page, WaitPage from .models import Constants from .models import Group class Introduction3S(Page): def is_displayed(self): return self.round_number == 1 class SetAgreement(WaitPage): def after_all_players_in_group_arrive(self): self.group.set_agreement() class OfferAgreement(Page): form_model = models.Group form_fields = ['offer_agreement'] def offer_agreement_error_message(self, value): if (value == self.group.agreement): return 'Your offer must be different from the given price agreement.' def is_displayed(self): return self.player.id_in_group == 1 class GetStrategy1(Page): def is_displayed(self): return self.player.id_in_group == 2 form_model = models.Player form_fields = ['strategy_accept'] class GetStrategy2(Page): def is_displayed(self): return self.player.id_in_group == 3 form_model = models.Player form_fields = ['strategy_accept'] class Offer1(Page): def is_displayed(self): return self.player.id_in_group == 1 and self.group.offer_agreement == 0 form_model = models.Group form_fields = ['offer1'] class AcceptOffer1(Page): def is_displayed(self): return self.player.id_in_group == 2 and self.group.offer_agreement == 0 form_model = models.Group form_fields = ['actual_accept_1'] class Offer2(Page): def is_displayed(self): return self.player.id_in_group == 1 and self.group.actual_accept_1 == 0 and self.group.offer_agreement == 0 form_model = models.Group form_fields = ['offer2'] class AcceptOffer2(Page): def is_displayed(self): return self.player.id_in_group == 3 and self.group.actual_accept_1 == 0 and self.group.offer_agreement == 0 form_model = models.Group form_fields = ['actual_accept_2'] class ResultsWaitPage(WaitPage): def after_all_players_arrive(self): self.group.set_payoffs() class Results(Page): def vars_for_template(self): return { 'total_payoff': sum([p.payoff for p in self.player.in_all_rounds()]), 'paying_round': self.session.vars['paying_round'], 'player_in_all_rounds': self.player.in_all_rounds(), } #page sequence aus "supply_tworetailer_coop" importiert page_sequence = [ Introduction3S, SetAgreement, OfferAgreement, GetStrategy1, GetStrategy2, Offer1, WaitPage, AcceptOffer1, WaitPage, Offer2, WaitPage, AcceptOffer2, ResultsWaitPage, Results ]