from otree.api import * doc = """ This application provides a webpage instructing participants how to get paid. Examples are given for the lab and Amazon Mechanical Turk (AMT). """ class C(BaseConstants): NAME_IN_URL = 'payment_info' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): q1 = models.StringField(choices=["Plantes Pollinisatrices", "Plantes Exotiques"], label="A votre avis, parmi ces deux types de plantes, lesquelles ont un impact positif sur l'environnement ?", widget=widgets.RadioSelectHorizontal) q2 = models.StringField(label="Pour prendre vos décisions, vous avez plus pris en compte ?", choices=["Uniquement le tableau des gains", "Majoritairement le tableau des gain", "Autant le tableau des gains que la composition de votre groupe", "Majoritairement les composition de votre groupe", "Uniquement la composition de votre groupe"], widget=widgets.RadioSelect) q3 = models.StringField(label="Appartenez vous à une association / un groupe dont l'un des objectif est la protection" "de l'environnement ?", choices=["Oui", "Non"], widget=widgets.RadioSelectHorizontal) q4 = models.StringField(label="Si oui, merci d'indiquer le nom de cette association / ce groupe", blank=True) # FUNCTIONS # PAGES class ComprehensionSurvey(Page): form_model = "player" form_fields = ["q1", "q2", "q3", "q4"] class PaymentInfo(Page): @staticmethod def vars_for_template(player: Player): participant = player.participant return dict(redemption_code=participant.label or participant.code) page_sequence = [ComprehensionSurvey, PaymentInfo]