from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants import random, os try: import fcntl except ModuleNotFoundError: pass def formatNicely(amount): return "{:.2f}".format(amount) # return "{:.2f}".format(amount).replace('.', ',') # for EUR class PageWithAmount(Page): def vars_for_template(self): vft = {'nicePayment': formatNicely(self.participant.vars['payment']), 'emailEntered': self.player.email} self.player.email = '[REDACTED]' return vft class Details(PageWithAmount): form_fields = ['email'] form_model = 'player' def before_next_page(self): self.player.emergency_code = ''.join(random.choices(list('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), k=8)) self.group.get_players()[0].paypal_details = self.group.get_players()[0].paypal_details + "email: " + self.player.email + ", payment: " + str(self.participant.vars["payment"]) + " | " class EndFeedback(PageWithAmount): pass page_sequence = [Details, EndFeedback]