mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Only show "change payment method" if another one is available
This commit is contained in:
@@ -33,12 +33,14 @@
|
||||
{% if order.status == "n" %}
|
||||
<div class="panel panel-danger">
|
||||
<div class="panel-heading">
|
||||
<div class="pull-right">
|
||||
<a href="{% eventurl event "presale:event.order.pay.change" secret=order.secret order=order.code %}">
|
||||
<span class="fa fa-edit"></span>
|
||||
{% trans "Use different payment method" %}
|
||||
</a>
|
||||
</div>
|
||||
{% if can_change_method %}
|
||||
<div class="pull-right">
|
||||
<a href="{% eventurl event "presale:event.order.pay.change" secret=order.secret order=order.code %}">
|
||||
<span class="fa fa-edit"></span>
|
||||
{% trans "Use different payment method" %}
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<h3 class="panel-title">
|
||||
{% trans "Payment" %}
|
||||
</h3>
|
||||
|
||||
@@ -113,6 +113,16 @@ class OrderDetails(EventViewMixin, OrderDetailMixin, CartMixin, TemplateView):
|
||||
and self.payment_provider.is_enabled
|
||||
and self.order._can_be_paid()
|
||||
)
|
||||
|
||||
ctx['can_change_method'] = False
|
||||
responses = register_payment_providers.send(self.request.event)
|
||||
for receiver, response in responses:
|
||||
provider = response(self.request.event)
|
||||
if (provider.identifier != self.order.payment_provider and provider.is_enabled
|
||||
and provider.order_change_allowed(self.order)):
|
||||
ctx['can_change_method'] = True
|
||||
break
|
||||
|
||||
elif self.order.status == Order.STATUS_PAID:
|
||||
ctx['payment'] = self.payment_provider.order_paid_render(self.request, self.order)
|
||||
ctx['can_retry'] = False
|
||||
|
||||
Reference in New Issue
Block a user