mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
remove infinite loop when output plugin provides a URI for a whole order (#5474)
This commit is contained in:
@@ -69,9 +69,6 @@ def generate_order(order: int, provider: str):
|
|||||||
prov = response(order.event)
|
prov = response(order.event)
|
||||||
if prov.identifier == provider:
|
if prov.identifier == provider:
|
||||||
filename, ttype, data = prov.generate_order(order)
|
filename, ttype, data = prov.generate_order(order)
|
||||||
if ttype == 'text/uri-list':
|
|
||||||
continue
|
|
||||||
|
|
||||||
path, ext = os.path.splitext(filename)
|
path, ext = os.path.splitext(filename)
|
||||||
for ct in CachedCombinedTicket.objects.filter(order=order, provider=provider):
|
for ct in CachedCombinedTicket.objects.filter(order=order, provider=provider):
|
||||||
ct.delete()
|
ct.delete()
|
||||||
|
|||||||
@@ -711,11 +711,15 @@ class OrderDownload(AsyncAction, OrderView):
|
|||||||
)
|
)
|
||||||
return resp
|
return resp
|
||||||
elif isinstance(value, CachedCombinedTicket):
|
elif isinstance(value, CachedCombinedTicket):
|
||||||
resp = FileResponse(value.file.file, content_type=value.type)
|
if value.type == 'text/uri-list':
|
||||||
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
|
resp = HttpResponseRedirect(value.file.file.read())
|
||||||
self.request.event.slug.upper(), self.order.code, self.output.identifier, value.extension
|
return resp
|
||||||
)
|
else:
|
||||||
return resp
|
resp = FileResponse(value.file.file, content_type=value.type)
|
||||||
|
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
|
||||||
|
self.request.event.slug.upper(), self.order.code, self.output.identifier, value.extension
|
||||||
|
)
|
||||||
|
return resp
|
||||||
else:
|
else:
|
||||||
return redirect(self.get_self_url())
|
return redirect(self.get_self_url())
|
||||||
|
|
||||||
|
|||||||
@@ -1146,11 +1146,15 @@ class OrderDownloadMixin:
|
|||||||
)
|
)
|
||||||
return resp
|
return resp
|
||||||
elif isinstance(value, CachedCombinedTicket):
|
elif isinstance(value, CachedCombinedTicket):
|
||||||
resp = FileResponse(value.file.file, content_type=value.type)
|
if value.type == 'text/uri-list':
|
||||||
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
|
resp = HttpResponseRedirect(value.file.file.read())
|
||||||
self.request.event.slug.upper(), self.order.code, self.output.identifier, value.extension
|
return resp
|
||||||
)
|
else:
|
||||||
return resp
|
resp = FileResponse(value.file.file, content_type=value.type)
|
||||||
|
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}{}"'.format(
|
||||||
|
self.request.event.slug.upper(), self.order.code, self.output.identifier, value.extension
|
||||||
|
)
|
||||||
|
return resp
|
||||||
else:
|
else:
|
||||||
return redirect(self.get_self_url())
|
return redirect(self.get_self_url())
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user