Bank transfer: Option to remove hyphen from reference

This commit is contained in:
Raphael Michel
2018-07-13 16:33:09 +02:00
parent e46b33544d
commit a0fcb116f5
4 changed files with 21 additions and 4 deletions

View File

@@ -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

View File

@@ -29,6 +29,6 @@
{% else %}
<dl class="dl-horizontal">
<dt>{% trans "Reference code" %}</dt>
<dd>{{ order.full_code }}</dd>
<dd>{{ code }}</dd>
</dl>
{% endif %}

View File

@@ -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 }}

View File

@@ -9,5 +9,5 @@
<address>
{{ details|linebreaksbr }}<br />
{% trans "Amount:" %} {{ order.total|money:event.currency }}<br />
<strong>{% trans "Reference code (important):" %} {{ order.full_code }}</strong>
<strong>{% trans "Reference code (important):" %} {{ code }}</strong>
</address>