from otree.api import * c = cu doc = 'Domande di comprensione sul processo' class C(BaseConstants): NAME_IN_URL = 'ComprehensionSTD' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): Q1 = models.BooleanField(choices=[[True, 'Vero'], [False, 'Falso']], label='Nell\'acquisto B l\'attività "Confronto con il richiedente per individuare un altro progetto su cui far gravare la spesa" allunga la durata del processo di 2 giorni') Q2 = models.BooleanField(choices=[[True, 'Vero'], [False, 'Falso']], label="Nell'acquisto C un bug della piattaforma MEPA blocca il processo di richiesta dei preventivi e l'amministrazione è costretta a riprendere in giorno successivo, quando il sito è di nuovo funzionante") Q3 = models.BooleanField(choices=[[True, 'Vero'], [False, 'Falso']], label="Nell'acquisto D l'offerta vincitrice ha dei tempi di consegna troppo lunghi, più che raddoppiati rispetto all'acquisto A") Q5 = models.BooleanField(choices=[[True, 'Vero'], [False, 'Falso']], label="Nell'acquisto B il confronto dei preventivi e verifica dell’offerta vincitrice dura il doppio del tempo rispetto all'acquisto A.") Q7 = models.BooleanField(choices=[[True, 'Vero'], [False, 'Falso']], label="Nell'acquisto D la lavorazione della fattura dura il triplo rispetto all'acquisto A") Q8 = models.BooleanField(choices=[[True, 'Vero'], [False, 'Falso']], label="Nell'acquisto C vengono fatte due determine, a contrarre e di affidamento, al posto di quella semplificata. Questo rallenta il processo di 3 ore") class Instructions(Page): form_model = 'player' class Questions(Page): form_model = 'player' form_fields = ['Q1', 'Q2', 'Q3', 'Q5', 'Q7', 'Q8'] timeout_seconds = 600 @staticmethod def get_form_fields(player: Player): import random form_fields = ['Q1','Q2','Q3','Q5','Q7','Q8'] random.shuffle(form_fields) return form_fields page_sequence = [Instructions, Questions]