mirror of
https://github.com/pretix/pretix.git
synced 2026-05-07 15:34:02 +00:00
Bank transfer: Option to remove hyphen from reference
This commit is contained in:
@@ -2,6 +2,7 @@ import json
|
|||||||
import textwrap
|
import textwrap
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
|
from django import forms
|
||||||
from django.template.loader import get_template
|
from django.template.loader import get_template
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from i18nfield.fields import I18nFormField, I18nTextarea
|
from i18nfield.fields import I18nFormField, I18nTextarea
|
||||||
@@ -38,7 +39,14 @@ class BankTransfer(BasePaymentProvider):
|
|||||||
@property
|
@property
|
||||||
def settings_form_fields(self):
|
def settings_form_fields(self):
|
||||||
d = OrderedDict(
|
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('bank_details', last=False)
|
||||||
d.move_to_end('_enabled', last=False)
|
d.move_to_end('_enabled', last=False)
|
||||||
@@ -67,6 +75,7 @@ class BankTransfer(BasePaymentProvider):
|
|||||||
ctx = {
|
ctx = {
|
||||||
'event': self.event,
|
'event': self.event,
|
||||||
'order': order,
|
'order': order,
|
||||||
|
'code': self._code(order),
|
||||||
'details': textwrap.indent(str(self.settings.get('bank_details', as_type=LazyI18nString)), ' '),
|
'details': textwrap.indent(str(self.settings.get('bank_details', as_type=LazyI18nString)), ' '),
|
||||||
}
|
}
|
||||||
return template.render(ctx)
|
return template.render(ctx)
|
||||||
@@ -76,6 +85,7 @@ class BankTransfer(BasePaymentProvider):
|
|||||||
ctx = {
|
ctx = {
|
||||||
'event': self.event,
|
'event': self.event,
|
||||||
'order': order,
|
'order': order,
|
||||||
|
'code': self._code(order),
|
||||||
'details': self.settings.get('bank_details', as_type=LazyI18nString),
|
'details': self.settings.get('bank_details', as_type=LazyI18nString),
|
||||||
}
|
}
|
||||||
return template.render(ctx)
|
return template.render(ctx)
|
||||||
@@ -87,9 +97,16 @@ class BankTransfer(BasePaymentProvider):
|
|||||||
payment_info = None
|
payment_info = None
|
||||||
template = get_template('pretixplugins/banktransfer/control.html')
|
template = get_template('pretixplugins/banktransfer/control.html')
|
||||||
ctx = {'request': request, 'event': self.event,
|
ctx = {'request': request, 'event': self.event,
|
||||||
|
'code': self._code(order),
|
||||||
'payment_info': payment_info, 'order': order}
|
'payment_info': payment_info, 'order': order}
|
||||||
return template.render(ctx)
|
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):
|
def shred_payment_info(self, order: Order):
|
||||||
if not order.payment_info:
|
if not order.payment_info:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -29,6 +29,6 @@
|
|||||||
{% else %}
|
{% else %}
|
||||||
<dl class="dl-horizontal">
|
<dl class="dl-horizontal">
|
||||||
<dt>{% trans "Reference code" %}</dt>
|
<dt>{% trans "Reference code" %}</dt>
|
||||||
<dd>{{ order.full_code }}</dd>
|
<dd>{{ code }}</dd>
|
||||||
</dl>
|
</dl>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -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.
|
Please transfer the full amount to the following bank account.
|
||||||
|
|
||||||
Reference: {{ code }}
|
Reference: {{ code }}
|
||||||
|
|||||||
@@ -9,5 +9,5 @@
|
|||||||
<address>
|
<address>
|
||||||
{{ details|linebreaksbr }}<br />
|
{{ details|linebreaksbr }}<br />
|
||||||
{% trans "Amount:" %} {{ order.total|money:event.currency }}<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>
|
</address>
|
||||||
|
|||||||
Reference in New Issue
Block a user