from otree.api import * from otree.models import player c = cu doc = '' class C(BaseConstants): NAME_IN_URL = 'Thanks' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): iban = models.StringField(label="Please, write down your IBAN to get your payment") iban2 = models.StringField(label="Please, write again your IBAN number") def set_final_earning(player: Player): participant = player.participant if participant.session.config['name'] == 'Hawk': player.payoff = participant.HD_payoff elif participant.session.config['name'] == 'Stag': player.payoff = participant.SH_payoff participant.final_earning = (player.payoff+3) class Thanks1(Page): form_model = 'player' form_fields = ['iban', 'iban2'] @staticmethod def before_next_page(player: Player, timeout_happened): set_final_earning(player) @staticmethod def error_message(player: Player, values): error_msg = dict() if values['iban2'] != values['iban']: return 'Please review and confirm your IBAN entry, as the provided IBAN numbers do not match.' class Thanks2(Page): form_model = 'player' page_sequence = [Thanks1, Thanks2]