from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants from .functions import slider class welcome(Page): def is_displayed(self): return self.round_number == 1 class waitpage(WaitPage): title_text = "Waiting for group members" body_text = "As soon as two other group members are present, we can start with the study. Please wait for two others to arrive, so that we can form a three-person group. Please be patient, sometimes it can take a few minutes." class SliderPrimaryDiscrete(Page): form_model = 'player' form_fields = ['slider1', 'slider2', 'slider3', 'slider4', 'slider5', 'slider6', ] def vars_for_template(self): return {'slider_items': [1, 2, 3, 4, 5, 6]} def before_next_page(self): chosen_values = { 'item1': self.player.slider1, 'item2': self.player.slider2, 'item3': self.player.slider3, 'item4': self.player.slider4, 'item5': self.player.slider5, 'item6': self.player.slider6 } mean_allocations = slider.mean_allocations_discrete(chosen_values) svo_slider_angle = slider.svo_angle(mean_allocations['self'], mean_allocations['other']) self.player.slider_angle = svo_slider_angle self.player.slider_classification = slider.svo_classification(svo_slider_angle) page_sequence = [ welcome, waitpage, SliderPrimaryDiscrete, ]