From e7730333c232de278ca694ac76f951a765008e83 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sat, 12 Jan 2019 22:33:09 +0100 Subject: [PATCH] Show refund status to customer on order page --- .../templates/pretixpresale/event/order.html | 19 +++++++++++++++++++ src/pretix/presale/views/order.py | 7 ++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/pretix/presale/templates/pretixpresale/event/order.html b/src/pretix/presale/templates/pretixpresale/event/order.html index 0b87b57a5..e9ef27316 100644 --- a/src/pretix/presale/templates/pretixpresale/event/order.html +++ b/src/pretix/presale/templates/pretixpresale/event/order.html @@ -84,6 +84,25 @@ {% endif %} + {% if order.status == "p" or order.status == "c" %} + {% if refunds %} +
+ {% for r in refunds %} + {% if r.state == "created" or r.state == "transit" %} + {% blocktrans trimmed with amount=r.amount|money:request.event.currency %} + A refund of {{ amount }} will be sent out to you soon, please be patient. + {% endblocktrans %} + {% elif r.state == "done" %} + {% blocktrans trimmed with amount=r.amount|money:request.event.currency %} + A refund of {{ amount }} has been sent to you. Depending on the payment method, please allow for up to 14 days until it shows up + on your statement. + {% endblocktrans %} + {% endif %} + {% if not forloop.last %}
{% endif %} + {% endfor %} +
+ {% endif %} + {% endif %} {% if can_download and download_buttons and order.count_positions %}
{% blocktrans trimmed %} diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index 41a7fc35a..359fd1bf7 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -18,7 +18,7 @@ from django.views.generic import TemplateView, View from pretix.base.models import CachedTicket, Invoice, Order, OrderPosition from pretix.base.models.orders import ( - CachedCombinedTicket, OrderFee, OrderPayment, QuestionAnswer, + CachedCombinedTicket, OrderFee, OrderPayment, OrderRefund, QuestionAnswer, ) from pretix.base.payment import PaymentException from pretix.base.services.invoices import ( @@ -145,6 +145,11 @@ class OrderDetails(EventViewMixin, OrderDetailMixin, CartMixin, TemplateView): elif self.order.status == Order.STATUS_PAID: ctx['can_pay'] = False + + ctx['refunds'] = self.order.refunds.filter( + state__in=(OrderRefund.REFUND_STATE_DONE, OrderRefund.REFUND_STATE_TRANSIT, OrderRefund.REFUND_STATE_CREATED) + ) + return ctx