From 776a83b36ee0a48a8d726c959639de6bd2a51ace Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Wed, 12 Aug 2026 13:59:20 +0200 Subject: [PATCH] Fix answer file download on presale order info page --- src/pretix/presale/views/order.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index 716f78391a..71abd762fc 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -1154,7 +1154,11 @@ class AnswerDownload(EventViewMixin, OrderDetailMixin, View): answid = kwargs.get('answer') token = request.GET.get('token', '') - answer = get_object_or_404(QuestionAnswer, orderposition__order=self.order, id=answid) + answer = get_object_or_404( + QuestionAnswer, + Q(orderposition__order=self.order) | Q(order=self.order), + id=answid, + ) if not answer.file: raise Http404() if not check_token(request, answer, token): @@ -1164,7 +1168,7 @@ class AnswerDownload(EventViewMixin, OrderDetailMixin, View): resp = FileResponse(answer.file, content_type=ftype or 'application/binary') resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}"'.format( self.request.event.slug.upper(), self.order.code, - answer.orderposition.positionid, + answer.orderposition.positionid if answer.orderposition else '', os.path.basename(answer.file.name).split('.', 1)[1] ) return resp