From 86b48352737269c282f78b47f2b3933d69a5798f Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 8 Mar 2019 12:22:19 +0100 Subject: [PATCH] Go to order: Allow to pass an invoice number --- src/pretix/control/views/orders.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pretix/control/views/orders.py b/src/pretix/control/views/orders.py index 001381ead7..111fabf868 100644 --- a/src/pretix/control/views/orders.py +++ b/src/pretix/control/views/orders.py @@ -12,7 +12,7 @@ from django.contrib import messages from django.core.files import File from django.db import transaction from django.db.models import ( - Count, IntegerField, OuterRef, ProtectedError, Subquery, + Count, IntegerField, OuterRef, ProtectedError, Q, Subquery, ) from django.http import ( FileResponse, Http404, HttpResponseNotAllowed, JsonResponse, @@ -1602,6 +1602,13 @@ class OrderGo(EventPermissionRequiredMixin, View): return redirect('control:event.order', event=request.event.slug, organizer=request.event.organizer.slug, code=order.code) except Order.DoesNotExist: + try: + i = self.request.event.invoices.get(Q(invoice_no=code) | Q(full_invoice_no=code)) + return redirect('control:event.order', event=request.event.slug, organizer=request.event.organizer.slug, + code=i.order.code) + except Invoice.DoesNotExist: + pass + messages.error(request, _('There is no order with the given order code.')) return redirect('control:event.orders', event=request.event.slug, organizer=request.event.organizer.slug)