from otree.api import * doc = """ Ending Page and Info Request for Payment """ class C(BaseConstants): NAME_IN_URL = 'g_ending' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): payment_method_1 = models.StringField( label='Metode pembayaran apa yang paling Anda preferensikan?', choices=[['OVO', 'OVO'], ['GoPay', 'GoPay'], ['DANA', 'DANA'], ['Bank Transfer', 'Transfer Bank'], ], widget=widgets.RadioSelect ) payment_method_2 = models.StringField( label='Metode pembayaran kedua yang Anda preferensikan?
' '(Kami akan melakukan pembayaran melalui metode ini jika terdapat kendala dengan metode pertama)', choices=[['OVO', 'OVO'], ['GoPay', 'GoPay'], ['DANA', 'DANA'], ['Bank Transfer', 'Transfer Bank'], ], widget=widgets.RadioSelect ) ewallet_number = models.StringField( label='Nomor telepon yang terhubung dengan akun e-wallet Anda
' '(Opsional)', blank=True ) bank_name = models.StringField( label='Nama bank Anda
' '(Opsional)', blank=True ) bank_acc_num = models.StringField( label='Nomor rekening bank Anda
' '(Opsional)', blank=True ) email_address = models.StringField( label='Alamat email Anda' '(Opsional)', blank=True ) payment_info_consent = models.BooleanField( label='kami meminta Anda untuk memberikan informasi kontak dan informasi pembayaran di laman berikutnya.
' '(Opsional)', choices=[[True, 'Saya memahami tujuan permintaan informasi ini dan bersedia memberikannya.'], [False, 'Saya tidak bersedia memberikan informasi tersebut.'], ], blank=True, ) time_preference = models.StringField( label=' Apabila kami menawarkan sebagian pembayaran (Rp10,000 dari Rp40,000 pembayaran tetap Anda) ' 'atas partisipasi Anda dapat dilakukan di muka (dalam kurun waktu 24 jam sejak berakhirnya sesi ini), ' 'manakah dari pilihan berikut yang akan Anda pilih?
' '(Rp30,000 dari pembayaran tetap dan pembayaran bonus akan sekitar satu bulan dari sekarang. Setelah selesainya ', choices = [['1', ''], ], widget=widgets.RadioSelect, ) time_preference_1 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp11,000 didapatkan bulan depan'] ], widget = widgets.RadioSelect ) time_preference_2 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp12,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_3 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp13,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_4 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp14,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_5 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp15,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_6 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp16,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_7 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp17,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_8 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp18,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_9 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp19,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) time_preference_10 = models.StringField( label='Dari pilihan berikut, manakah yang Anda pilih?' '
', choices=[['1', 'Rp10,000 didapatkan hari ini (dalam 24 jam)'], ['2', 'Rp20,000 didapatkan bulan depan'] ], widget=widgets.RadioSelect ) ## Consent consent_failed = models.BooleanField(initial=False) # PAGES class Time_Preference(Page): form_model = 'player' form_fields = ['time_preference_1', 'time_preference_2', 'time_preference_3', 'time_preference_4', 'time_preference_5', 'time_preference_6', 'time_preference_7', 'time_preference_8', 'time_preference_9', 'time_preference_10', ] class Ending_Page(Page): pass class Payment_Info_Consent(Page): form_model = 'player' form_fields = ['payment_info_consent', ] def before_next_page(player: Player, timeout_happened): if not player.payment_info_consent: player.consent_failed = True class Payment_Info(Page): form_model = 'player' form_fields = ['payment_method_1', 'payment_method_2', 'ewallet_number', 'bank_name', 'bank_acc_num', 'email_address'] @staticmethod def is_displayed(player: Player): return player.consent_failed is False class Contact_Page(Page): pass page_sequence = [Ending_Page, Time_Preference, Payment_Info_Consent, Payment_Info, Contact_Page]