From 6511d5297fb981c1949fe096ea0d7748ebd46021 Mon Sep 17 00:00:00 2001
From: Tobias Kunze
Date: Mon, 22 Aug 2016 16:02:58 +0200
Subject: [PATCH] Use localized settings for bank_details (#176)
This is a non-destructive upgrade since LazyI18nString will return a
normal string (which is content of the settings variable up until now)
as-is.
---
src/pretix/plugins/banktransfer/payment.py | 34 +++++++++++++------
.../banktransfer/checkout_payment_form.html | 2 +-
.../banktransfer/email/order_pending.txt | 4 +--
.../pretixplugins/banktransfer/pending.html | 4 +--
4 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/src/pretix/plugins/banktransfer/payment.py b/src/pretix/plugins/banktransfer/payment.py
index d5e45e606..fec83c584 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 79a4a7a3e..6e63381ef 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 }}
+ {{ details|linebreaksbr }}
{% trans "We will assign you a personal reference code to use after you completed the order." %}
diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/email/order_pending.txt b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/email/order_pending.txt
index 8b87e917c..84318ea2f 100644
--- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/email/order_pending.txt
+++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/email/order_pending.txt
@@ -1,6 +1,6 @@
-{% load i18n %}{% load l10n %}{% blocktrans with bank=settings.bank_details code=order.full_code total=order.total|localize currency=event.currency %}
+{% load i18n %}{% load l10n %}{% blocktrans with bank=details code=order.full_code total=order.total|localize currency=event.currency %}
Please transfer the full amount to the following bank account.
Reference: {{ code }}
Amount: {{ total }} {{ currency }}
-{{ bank }}{% endblocktrans %}
\ No newline at end of file
+{{ bank }}{% endblocktrans %}
diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html
index 242773511..6e7ea2158 100644
--- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html
+++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html
@@ -6,7 +6,7 @@
{% endblocktrans %}
- {{ settings.bank_details|linebreaksbr }}
+ {{ details|linebreaksbr }}
{% trans "Amount:" %} {{ order.total|localize }} {{ request.event.currency }}
{% trans "Reference code (important):" %} {{ order.full_code }}
-
\ No newline at end of file
+