From f4be90fdd0d7309a9364d3bb08bf48049cc8e778 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 6 Aug 2018 16:16:19 +0200 Subject: [PATCH] Fix overpaid queries --- src/pretix/control/forms/filter.py | 6 +++--- src/pretix/control/views/dashboards.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/pretix/control/forms/filter.py b/src/pretix/control/forms/filter.py index bde091dfd5..bc8b20ead7 100644 --- a/src/pretix/control/forms/filter.py +++ b/src/pretix/control/forms/filter.py @@ -273,9 +273,9 @@ class EventOrderFilterForm(OrderFilterForm): if fdata.get('status') == 'overpaid': qs = qs.filter( - Q(~Q(status__in=[Order.STATUS_REFUNDED, Order.STATUS_CANCELED]) & Q(pending_sum_t__lt=0)) - | Q(Q(status__in=[Order.STATUS_REFUNDED, Order.STATUS_CANCELED]) & Q(pending_sum_rc__lt=0)) - | Q(Q(status__in=[Order.STATUS_EXPIRED, Order.STATUS_PENDING]) & Q(pending_sum_rc__lte=0)) + Q(~Q(status__in=(Order.STATUS_REFUNDED, Order.STATUS_CANCELED)) & Q(pending_sum_t__lt=0)) + | Q(Q(status__in=(Order.STATUS_REFUNDED, Order.STATUS_CANCELED)) & Q(pending_sum_rc__lt=0)) + | Q(Q(status__in=(Order.STATUS_EXPIRED, Order.STATUS_PENDING)) & Q(pending_sum_t__lte=0)) ) elif fdata.get('status') == 'underpaid': qs = qs.filter( diff --git a/src/pretix/control/views/dashboards.py b/src/pretix/control/views/dashboards.py index 0205ce6095..f7b4dce890 100644 --- a/src/pretix/control/views/dashboards.py +++ b/src/pretix/control/views/dashboards.py @@ -267,9 +267,9 @@ def event_index(request, organizer, event): } ctx['has_overpaid_orders'] = Order.annotate_overpayments(request.event.orders).filter( - Q(~Q(status__in=[Order.STATUS_REFUNDED, Order.STATUS_CANCELED]) & Q(pending_sum_t__lt=0)) - | Q(Q(status__in=[Order.STATUS_REFUNDED, Order.STATUS_CANCELED]) & Q(pending_sum_rc__lt=0)) - | Q(Q(status__in=[Order.STATUS_EXPIRED, Order.STATUS_PENDING]) & Q(pending_sum_rc__lte=0)) + Q(~Q(status__in=(Order.STATUS_REFUNDED, Order.STATUS_CANCELED)) & Q(pending_sum_t__lt=0)) + | Q(Q(status__in=(Order.STATUS_REFUNDED, Order.STATUS_CANCELED)) & Q(pending_sum_rc__lt=0)) + | Q(Q(status__in=(Order.STATUS_EXPIRED, Order.STATUS_PENDING)) & Q(pending_sum_t__lte=0)) ).exists() ctx['has_pending_refunds'] = OrderRefund.objects.filter( order__event=request.event,