From a0fcb116f514e4dc54ffca616fb2a8d469a11f9b Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 13 Jul 2018 16:33:09 +0200 Subject: [PATCH] Bank transfer: Option to remove hyphen from reference --- src/pretix/plugins/banktransfer/payment.py | 19 ++++++++++++++++++- .../pretixplugins/banktransfer/control.html | 2 +- .../banktransfer/email/order_pending.txt | 2 +- .../pretixplugins/banktransfer/pending.html | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/pretix/plugins/banktransfer/payment.py b/src/pretix/plugins/banktransfer/payment.py index 6ed44b2484..d450822f94 100644 --- a/src/pretix/plugins/banktransfer/payment.py +++ b/src/pretix/plugins/banktransfer/payment.py @@ -2,6 +2,7 @@ import json import textwrap from collections import OrderedDict +from django import forms from django.template.loader import get_template from django.utils.translation import ugettext_lazy as _ from i18nfield.fields import I18nFormField, I18nTextarea @@ -38,7 +39,14 @@ class BankTransfer(BasePaymentProvider): @property def settings_form_fields(self): d = OrderedDict( - list(super().settings_form_fields.items()) + [('bank_details', self.form_field())] + list(super().settings_form_fields.items()) + [ + ('bank_details', self.form_field()), + ('omit_hyphen', forms.BooleanField( + label=_('Do not include a hypen in the payment reference.'), + help_text=_('This is required in some countries.') + )), + + ] ) d.move_to_end('bank_details', last=False) d.move_to_end('_enabled', last=False) @@ -67,6 +75,7 @@ class BankTransfer(BasePaymentProvider): ctx = { 'event': self.event, 'order': order, + 'code': self._code(order), 'details': textwrap.indent(str(self.settings.get('bank_details', as_type=LazyI18nString)), ' '), } return template.render(ctx) @@ -76,6 +85,7 @@ class BankTransfer(BasePaymentProvider): ctx = { 'event': self.event, 'order': order, + 'code': self._code(order), 'details': self.settings.get('bank_details', as_type=LazyI18nString), } return template.render(ctx) @@ -87,9 +97,16 @@ class BankTransfer(BasePaymentProvider): payment_info = None template = get_template('pretixplugins/banktransfer/control.html') ctx = {'request': request, 'event': self.event, + 'code': self._code(order), 'payment_info': payment_info, 'order': order} return template.render(ctx) + def _code(self, order: Order): + if self.settings.get('omit_hyphen', as_type=bool): + return self.event.slug.upper() + order.code + else: + return order.full_code + def shred_payment_info(self, order: Order): if not order.payment_info: return diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/control.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/control.html index bf25d466c8..32cbe0e8cd 100644 --- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/control.html +++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/control.html @@ -29,6 +29,6 @@ {% else %}
{% trans "Reference code" %}
-
{{ order.full_code }}
+
{{ code }}
{% endif %} 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 644a9e048c..0c9cb390e7 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,4 +1,4 @@ -{% load i18n %}{% load l10n %}{% load money %}{% blocktrans with bank=details|safe code=order.full_code total=order.total|money:event.currency %} +{% load i18n %}{% load l10n %}{% load money %}{% blocktrans with bank=details|safe total=order.total|money:event.currency %} Please transfer the full amount to the following bank account. Reference: {{ code }} diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html index 1264cfd584..3a3f63c5f6 100644 --- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html +++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html @@ -9,5 +9,5 @@
{{ details|linebreaksbr }}
{% trans "Amount:" %} {{ order.total|money:event.currency }}
- {% trans "Reference code (important):" %} {{ order.full_code }} + {% trans "Reference code (important):" %} {{ code }}