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]