forked from CGM_Public/pretix_original
Fix a PDF generation loop
This commit is contained in:
@@ -19,9 +19,11 @@ def generate(order_position: str, provider: str):
|
||||
ct = CachedTicket.objects.get(order_position=order_position, provider=provider)
|
||||
except CachedTicket.MultipleObjectsReturned:
|
||||
CachedTicket.objects.filter(order_position=order_position, provider=provider).delete()
|
||||
ct = CachedTicket(order_position=order_position, provider=provider)
|
||||
ct = CachedTicket.objects.create(order_position=order_position, provider=provider, extension='',
|
||||
type='', file=None)
|
||||
except CachedTicket.DoesNotExist:
|
||||
ct = CachedTicket(order_position=order_position, provider=provider)
|
||||
ct = CachedTicket.objects.create(order_position=order_position, provider=provider, extension='',
|
||||
type='', file=None)
|
||||
|
||||
with language(order_position.order.locale):
|
||||
responses = register_ticket_outputs.send(order_position.order.event)
|
||||
|
||||
@@ -534,11 +534,13 @@ class OrderDownload(EventViewMixin, OrderDetailMixin, View):
|
||||
|
||||
if 'ajax' in request.GET:
|
||||
return HttpResponse('1' if ct and ct.file else '0')
|
||||
elif not ct or not ct.file:
|
||||
elif not ct:
|
||||
generate.apply_async(args=(self.order_position.id, self.output.identifier))
|
||||
return render(request, "pretixbase/cachedfiles/pending.html", {})
|
||||
elif not ct.file:
|
||||
return render(request, "pretixbase/cachedfiles/pending.html", {})
|
||||
else:
|
||||
resp = FileResponse(ct.file.file, content_type='application/pdf')
|
||||
resp = FileResponse(ct.file.file, content_type=ct.type)
|
||||
resp['Content-Disposition'] = 'attachment; filename="{}-{}-{}-{}{}"'.format(
|
||||
self.request.event.slug.upper(), self.order.code, self.order_position.positionid,
|
||||
self.output.identifier, ct.extension
|
||||
|
||||
Reference in New Issue
Block a user