From c2345d200a00d3593a6c30d0058f5005773bf13f Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Wed, 9 Dec 2020 17:02:39 +0100 Subject: [PATCH] Add option to hide "payment pending" bubble on ticket pages --- src/pretix/api/serializers/event.py | 1 + src/pretix/base/settings.py | 12 ++++++++++++ src/pretix/control/forms/event.py | 1 + .../templates/pretixcontrol/event/payment.html | 1 + .../pretixpresale/event/fragment_order_status.html | 2 ++ .../presale/templates/pretixpresale/event/order.html | 2 +- .../templates/pretixpresale/event/position.html | 2 +- 7 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/pretix/api/serializers/event.py b/src/pretix/api/serializers/event.py index 6d7b6b3561..32e8d072d9 100644 --- a/src/pretix/api/serializers/event.py +++ b/src/pretix/api/serializers/event.py @@ -607,6 +607,7 @@ class EventSettingsSerializer(serializers.Serializer): 'payment_term_expire_automatically', 'payment_term_accept_late', 'payment_explanation', + 'payment_pending_hidden', 'ticket_download', 'ticket_download_date', 'ticket_download_addons', diff --git a/src/pretix/base/settings.py b/src/pretix/base/settings.py index c269a359a1..9993d6c660 100644 --- a/src/pretix/base/settings.py +++ b/src/pretix/base/settings.py @@ -553,6 +553,18 @@ DEFAULTS = { "the pool and can be ordered by other people."), ) }, + 'payment_pending_hidden': { + 'default': 'False', + 'type': bool, + 'form_class': forms.BooleanField, + 'serializer_class': serializers.BooleanField, + 'form_kwargs': dict( + label=_('Hide "payment pending" state on customer-facing pages'), + help_text=_("The payment instructions panel will still be shown to the primary customer, but no indication " + "of missing payment will be visible on the ticket pages of attendees who did not buy the ticket " + "themselves.") + ) + }, 'payment_giftcard__enabled': { 'default': 'True', 'type': bool diff --git a/src/pretix/control/forms/event.py b/src/pretix/control/forms/event.py index 8b03fe1d86..59b131a993 100644 --- a/src/pretix/control/forms/event.py +++ b/src/pretix/control/forms/event.py @@ -559,6 +559,7 @@ class PaymentSettingsForm(SettingsForm): 'payment_term_last', 'payment_term_expire_automatically', 'payment_term_accept_late', + 'payment_pending_hidden', 'payment_explanation', ] tax_rate_default = forms.ModelChoiceField( diff --git a/src/pretix/control/templates/pretixcontrol/event/payment.html b/src/pretix/control/templates/pretixcontrol/event/payment.html index 7f1903d5b7..ed29699f7c 100644 --- a/src/pretix/control/templates/pretixcontrol/event/payment.html +++ b/src/pretix/control/templates/pretixcontrol/event/payment.html @@ -66,6 +66,7 @@ {% bootstrap_field form.payment_term_last layout="control" %} {% bootstrap_field form.payment_term_expire_automatically layout="control" %} {% bootstrap_field form.payment_term_accept_late layout="control" %} + {% bootstrap_field form.payment_pending_hidden layout="control" %}
{% trans "Advanced" %} diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_order_status.html b/src/pretix/presale/templates/pretixpresale/event/fragment_order_status.html index 5c214168f7..d7808bba35 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_order_status.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_order_status.html @@ -5,6 +5,8 @@ {% trans "Approval pending" %} {% elif order.total == 0 %} {% trans "Confirmation pending" context "order state" %} + {% elif event.settings.payment_pending_hidden %} + {# intentionally left blank #} {% else %} {% trans "Payment pending" %} {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/event/order.html b/src/pretix/presale/templates/pretixpresale/event/order.html index 6d89d775bd..85a21a606e 100644 --- a/src/pretix/presale/templates/pretixpresale/event/order.html +++ b/src/pretix/presale/templates/pretixpresale/event/order.html @@ -53,7 +53,7 @@ {% trans "View in backend" %} {% endif %} - {% include "pretixpresale/event/fragment_order_status.html" with order=order class="pull-right flip" %} + {% include "pretixpresale/event/fragment_order_status.html" with order=order event=request.event class="pull-right flip" %}
{% if order.status == "n" and not order.require_approval %} diff --git a/src/pretix/presale/templates/pretixpresale/event/position.html b/src/pretix/presale/templates/pretixpresale/event/position.html index a144f35c53..6e6c3508e6 100644 --- a/src/pretix/presale/templates/pretixpresale/event/position.html +++ b/src/pretix/presale/templates/pretixpresale/event/position.html @@ -18,7 +18,7 @@ {% trans "View in backend" %} {% endif %} - {% include "pretixpresale/event/fragment_order_status.html" with order=order class="pull-right flip" %} + {% include "pretixpresale/event/fragment_order_status.html" with order=order event=request.event class="pull-right flip" %}
{% eventsignal event "pretix.presale.signals.position_info_top" order=order position=position request=request %}