diff --git a/src/pretix/plugins/banktransfer/payment.py b/src/pretix/plugins/banktransfer/payment.py index d5e45e606a..fec83c5849 100644 --- a/src/pretix/plugins/banktransfer/payment.py +++ b/src/pretix/plugins/banktransfer/payment.py @@ -5,6 +5,7 @@ from django import forms from django.template.loader import get_template from django.utils.translation import ugettext_lazy as _ +from pretix.base.i18n import I18nFormField, I18nTextarea, LazyI18nString from pretix.base.payment import BasePaymentProvider @@ -14,19 +15,22 @@ class BankTransfer(BasePaymentProvider): @property def settings_form_fields(self): + form_field = I18nFormField( + label=_('Bank account details'), + widget=I18nTextarea, + ) + form_field.widget.enabled_langcodes = self.event.settings.get('locales') return OrderedDict( - list(super().settings_form_fields.items()) + [ - ('bank_details', - forms.CharField( - widget=forms.Textarea, - label=_('Bank account details'), - )) - ] + list(super().settings_form_fields.items()) + [('bank_details', form_field)] ) def payment_form_render(self, request) -> str: template = get_template('pretixplugins/banktransfer/checkout_payment_form.html') - ctx = {'request': request, 'event': self.event, 'settings': self.settings} + ctx = { + 'request': request, + 'event': self.event, + 'details': self.settings.get('bank_details', as_type=LazyI18nString), + } return template.render(ctx) def checkout_prepare(self, request, total): @@ -40,12 +44,20 @@ class BankTransfer(BasePaymentProvider): def order_pending_mail_render(self, order) -> str: template = get_template('pretixplugins/banktransfer/email/order_pending.txt') - ctx = {'event': self.event, 'order': order, 'settings': self.settings} + ctx = { + 'event': self.event, + 'order': order, + 'details': self.settings.get('bank_details', as_type=LazyI18nString), + } return template.render(ctx) def order_pending_render(self, request, order) -> str: template = get_template('pretixplugins/banktransfer/pending.html') - ctx = {'request': request, 'order': order, 'settings': self.settings} + ctx = { + 'event': self.event, + 'order': order, + 'details': self.settings.get('bank_details', as_type=LazyI18nString), + } return template.render(ctx) def order_control_render(self, request, order) -> str: @@ -54,6 +66,6 @@ class BankTransfer(BasePaymentProvider): else: payment_info = None template = get_template('pretixplugins/banktransfer/control.html') - ctx = {'request': request, 'event': self.event, 'settings': self.settings, + ctx = {'request': request, 'event': self.event, 'payment_info': payment_info, 'order': order} return template.render(ctx) diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html index 79a4a7a3e4..6e63381ef0 100644 --- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html +++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html @@ -6,7 +6,7 @@ {% endblocktrans %}
- {{ settings.bank_details|linebreaksbr }}