from otree.api import Currency as c, currency_range from ._builtin import Page as oTreePage from .models import Constants import json import random from otree.lookup import url_i_should_be_on, get_page_lookup, get_min_idx_for_app class Page(oTreePage): def post(self): r = super().post() current_app = self._lookup.app_name try: next_app = get_page_lookup(self.session.code, self.participant._index_in_pages).app_name except KeyError: next_app = None if current_app == next_app: return r seq_dict = self.participant.vars.get('_updated_seq_apps') if seq_dict: app_to_skip_to = seq_dict.get(current_app) if app_to_skip_to: where_to = get_min_idx_for_app(self.participant._session_code, app_to_skip_to) else: where_to = self.participant._max_page_index + 1 self.participant._index_in_pages = where_to self._is_frozen =False self._index_in_pages = where_to return self._redirect_to_page_the_user_should_be_on() else: return r class Istruzioni(Page): def is_displayed(self): return True form_model = 'player' form_fields = ['codice_partecipante'] page_sequence = [Istruzioni]