From 7a945daefc1156c7c14e0cd6d1781ad6527cdd65 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 29 Oct 2018 12:57:26 +0100 Subject: [PATCH] Fix #957 -- Integrate BezahlCode and GiroCode --- src/pretix/plugins/banktransfer/__init__.py | 1 + src/pretix/plugins/banktransfer/payment.py | 1 + .../pretixplugins/banktransfer/pending.html | 60 +++++++++++++++---- .../banktransfer/templatetags/__init__.py | 0 .../banktransfer/templatetags/commadecimal.py | 8 +++ .../presale/templates/pretixpresale/base.html | 1 + src/pretix/static/pretixcontrol/js/ui/main.js | 5 +- src/pretix/static/pretixpresale/js/ui/main.js | 13 ++++ 8 files changed, 77 insertions(+), 12 deletions(-) create mode 100644 src/pretix/plugins/banktransfer/templatetags/__init__.py create mode 100644 src/pretix/plugins/banktransfer/templatetags/commadecimal.py diff --git a/src/pretix/plugins/banktransfer/__init__.py b/src/pretix/plugins/banktransfer/__init__.py index f7be95601..27035dc20 100644 --- a/src/pretix/plugins/banktransfer/__init__.py +++ b/src/pretix/plugins/banktransfer/__init__.py @@ -19,6 +19,7 @@ class BankTransferApp(AppConfig): def ready(self): from . import signals # NOQA from . import tasks # NOQA + from .templatetags import commadecimal # NOQA @cached_property def compatibility_warnings(self): diff --git a/src/pretix/plugins/banktransfer/payment.py b/src/pretix/plugins/banktransfer/payment.py index 3af10497c..67e32cdf4 100644 --- a/src/pretix/plugins/banktransfer/payment.py +++ b/src/pretix/plugins/banktransfer/payment.py @@ -175,6 +175,7 @@ class BankTransfer(BasePaymentProvider): 'event': self.event, 'code': self._code(payment.order), 'order': payment.order, + 'amount': payment.amount, 'settings': self.settings, 'details': self.settings.get('bank_details', as_type=LazyI18nString), } diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html index 5c5409c9c..862a25ad3 100644 --- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html +++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html @@ -1,21 +1,59 @@ {% load i18n %} {% load l10n %} +{% load commadecimal %} {% load money %}

{% blocktrans trimmed %} Please transfer the full amount to the following bank account: {% endblocktrans %}

-
+
+
+

+ {% if settings.bank_details_type == "sepa" %} + {% trans "Account holder" %}: {{ settings.bank_details_sepa_name }}
+ {% trans "IBAN" %}: {{ settings.bank_details_sepa_iban }}
+ {% trans "BIC" %}: {{ settings.bank_details_sepa_bic }}
+ {% trans "Bank" %}: {{ settings.bank_details_sepa_bank }}
+ {% endif %} + {% if details %} + {{ details|linebreaksbr }}
+ {% endif %} + {% trans "Amount:" %} {{ amount|money:event.currency }}
+ {% trans "Reference code (important):" %} {{ code }} +

+
{% if settings.bank_details_type == "sepa" %} - {% trans "Account holder" %}: {{ settings.bank_details_sepa_name }}
- {% trans "IBAN" %}: {{ settings.bank_details_sepa_iban }}
- {% trans "BIC" %}: {{ settings.bank_details_sepa_bic }}
- {% trans "Bank" %}: {{ settings.bank_details_sepa_bank }}
+ + +
+

+ + {% trans "Open banking app" %} +
+ {% trans "Requires that the app supports BezahlCode" %} +

+
{% endif %} - {% if details %} - {{ details|linebreaksbr }}
- {% endif %} - {% trans "Amount:" %} {{ order.total|money:event.currency }}
- {% trans "Reference code (important):" %} {{ code }} -
+ diff --git a/src/pretix/plugins/banktransfer/templatetags/__init__.py b/src/pretix/plugins/banktransfer/templatetags/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/pretix/plugins/banktransfer/templatetags/commadecimal.py b/src/pretix/plugins/banktransfer/templatetags/commadecimal.py new file mode 100644 index 000000000..09da33227 --- /dev/null +++ b/src/pretix/plugins/banktransfer/templatetags/commadecimal.py @@ -0,0 +1,8 @@ +from django import template + +register = template.Library() + + +@register.filter +def commadecimal(value): + return str(value).replace(".", ",") diff --git a/src/pretix/presale/templates/pretixpresale/base.html b/src/pretix/presale/templates/pretixpresale/base.html index 67c055b49..355b4fe81 100644 --- a/src/pretix/presale/templates/pretixpresale/base.html +++ b/src/pretix/presale/templates/pretixpresale/base.html @@ -24,6 +24,7 @@ + diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index 616eed5d0..63c53d0f6 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -374,7 +374,10 @@ var form_handlers = function (el) { $div.insertBefore($(this)); $div.qrcode( { - text: $(this).html() + text: $(this).html(), + correctLevel: 0, // M + width: $(this).attr("data-size") ? parseInt($(this).attr("data-size")) : 256, + height: $(this).attr("data-size") ? parseInt($(this).attr("data-size")) : 256, } ); }); diff --git a/src/pretix/static/pretixpresale/js/ui/main.js b/src/pretix/static/pretixpresale/js/ui/main.js index 05746a332..8386f5060 100644 --- a/src/pretix/static/pretixpresale/js/ui/main.js +++ b/src/pretix/static/pretixpresale/js/ui/main.js @@ -91,6 +91,19 @@ var form_handlers = function (el) { }; $(this).datetimepicker(opts); }); + + el.find("script[data-replace-with-qr]").each(function () { + var $div = $("
"); + $div.insertBefore($(this)); + $div.qrcode( + { + text: $(this).html(), + correctLevel: 0, // M + width: $(this).attr("data-size") ? parseInt($(this).attr("data-size")) : 256, + height: $(this).attr("data-size") ? parseInt($(this).attr("data-size")) : 256, + } + ); + }); }