From a40951060fdfceaea8452c2a1f8dafd1c181770a Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 15 Dec 2020 15:44:38 +0100 Subject: [PATCH] Backend order list: Show payment amount --- src/pretix/base/models/orders.py | 3 +++ .../control/templates/pretixcontrol/orders/index.html | 9 ++++++++- src/pretix/control/views/orders.py | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 3d29afcb28..f0fa566d2d 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -333,6 +333,9 @@ class Order(LockModel, LoggedModel): payment_sum=payment_sum_sq, refund_sum=refund_sum_sq, ) + qs = qs.annotate( + payment_refund_sum=Coalesce(payment_sum_sq, 0) - Coalesce(refund_sum_sq, 0), + ) qs = qs.annotate( pending_sum_t=F('total') - Coalesce(payment_sum_sq, 0) + Coalesce(refund_sum_sq, 0), diff --git a/src/pretix/control/templates/pretixcontrol/orders/index.html b/src/pretix/control/templates/pretixcontrol/orders/index.html index 4aae96bbfb..0de899f797 100644 --- a/src/pretix/control/templates/pretixcontrol/orders/index.html +++ b/src/pretix/control/templates/pretixcontrol/orders/index.html @@ -113,7 +113,7 @@ - {% trans "Order total" %} + {% trans "Order paid / total" %} {% trans "Positions" %} @@ -158,6 +158,13 @@ {% elif o.is_pending_with_full_payment %} {% trans "FULLY PAID" %} {% endif %} + {% if o.payment_refund_sum == o.total or o.payment_refund_sum == 0 %} + + {% endif %} + {{ o.payment_refund_sum|money:request.event.currency }} / + {% if o.payment_refund_sum == o.total or o.payment_refund_sum == 0 %} + + {% endif %} {{ o.total|money:request.event.currency }} {{ o.pcnt|default_if_none:"0" }} diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index b8f05fa59f..3ed0638cf5 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -153,7 +153,7 @@ class OrderList(OrderSearchMixin, EventPermissionRequiredMixin, PaginationMixin, annotated = { o['pk']: o for o in - Order.annotate_overpayments(Order.objects).filter( + Order.annotate_overpayments(Order.objects, sums=True).filter( pk__in=[o.pk for o in ctx['orders']] ).annotate( pcnt=Subquery(s, output_field=IntegerField()),