from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Artikel1(Page): form_model = 'player' selection_strings = [] intensity_strings = [] comment_strings = [] for i in range(1, Constants.n_max + 1): selection_strings.append(f'selection{i}') intensity_strings.append(f'intensity{i}') comment_strings.append(f'comment{i}') form_fields = selection_strings+intensity_strings+comment_strings def vars_for_template(self): data = { 'treat': self.player.order, } return data def is_displayed(self): if self.player.order==1: return self.subsession.round_number==1 else: return self.subsession.round_number == 2 class Artikel2(Page): form_model = 'player' selection_strings = [] intensity_strings = [] comment_strings = [] for i in range(1, Constants.n_max + 1): selection_strings.append(f'selection_{i}') intensity_strings.append(f'intensity_{i}') comment_strings.append(f'comment_{i}') form_fields = selection_strings+intensity_strings+comment_strings def vars_for_template(self): data = { 'treat': self.player.order, } return data def is_displayed(self): if self.player.order==2: return self.subsession.round_number==1 else: return self.subsession.round_number == 2 class consent(Page): form_model = 'player' form_fields = ['consent'] def is_displayed(self): return self.subsession.round_number == 1 class End(Page): def is_displayed(self): return self.subsession.round_number == 2 class Redirect(Page): def is_displayed(self): return self.subsession.round_number == 2 def js_vars(player): return dict( completionlink= player.subsession.session.config['completionlink']) class noconsent(Page): def is_displayed(self): return self.subsession.round_number == 1 and self.player.consent==0 class Questions3(Page): form_model = 'player' form_fields = Constants.Zeitungen+['q_wieviel','Autoritaet','Freunden','Newsfeed','Titel','Thema','q_intensiv','Rusland','Ukraine','USA','anderer_Staat','unabhängige','noch_nicht_klar'] def is_displayed(self): return self.subsession.round_number == 1 class Questions2(Page): form_model = 'player' form_fields = ['q1','q2','q3','q4','q5','q6','q7','q8','q9'] def is_displayed(self): return self.subsession.round_number == 1 class Questions1(Page): form_model = 'player' form_fields = ['q_grad','q_fieldstudy','q_nationality'] def is_displayed(self): return self.subsession.round_number == 1 # Set the page_sequence dynamically using the custom_page_sequence function page_sequence = [consent,noconsent,Questions1,Questions2,Questions3,Artikel1,Artikel2,End,Redirect]