from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class PayCostBefore(Page): form_model = 'player' form_fields = ['reservation_cost_CostThenSignal', 'touched_slider'] def touched_slider_error_message(self, value): if not value: return 'Please adjust slider to chosen amount. If you desire shown amount, please move and replace.' class ShowAndElicitAfter(Page): form_model = 'player' form_fields = ['probReservation_CostThenSignal1', 'touched_slider'] def touched_slider_error_message(self, value): if not value: return 'Please adjust slider to chosen amount. If you desire shown amount, please move and replace.' class WaitForPartner(WaitPage): def after_all_players_arrive(self): self.group.set_paid() class CoarseBeliefsDecideBefore(Page): form_model = 'player' form_fields = ['probReservation_CostThenSignal2', 'touched_slider'] def touched_slider_error_message(self, value): if not value: return 'Please adjust slider to chosen amount. If you desire shown amount, please move and replace.' def vars_for_template(self): otherPlayer = self.player.get_others_in_group()[0] return {'other': otherPlayer,'otherCoarse': (otherPlayer.probReservation_CostThenSignal1 > 50),'roundedCost':round(self.subsession.cost_to_view,2)} class Results(Page): pass page_sequence = [ PayCostBefore, ShowAndElicitAfter, WaitForPartner, CoarseBeliefsDecideBefore, Results ]