forked from CGM_Public/pretix_original
Fix invoice download if not all invoices have PDFs yet
This commit is contained in:
@@ -6,6 +6,7 @@ from django.dispatch import receiver
|
|||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
from ..exporter import BaseExporter
|
from ..exporter import BaseExporter
|
||||||
|
from ..services.invoices import invoice_pdf_task
|
||||||
from ..signals import register_data_exporters
|
from ..signals import register_data_exporters
|
||||||
|
|
||||||
|
|
||||||
@@ -17,6 +18,9 @@ class InvoiceExporter(BaseExporter):
|
|||||||
with tempfile.TemporaryDirectory() as d:
|
with tempfile.TemporaryDirectory() as d:
|
||||||
with ZipFile(os.path.join(d, 'tmp.zip'), 'w') as zipf:
|
with ZipFile(os.path.join(d, 'tmp.zip'), 'w') as zipf:
|
||||||
for i in self.event.invoices.all():
|
for i in self.event.invoices.all():
|
||||||
|
if not i.file:
|
||||||
|
invoice_pdf_task.apply_async(args=(i.pk))
|
||||||
|
i.refresh_from_db()
|
||||||
i.file.open('r')
|
i.file.open('r')
|
||||||
zipf.writestr('{}.pdf'.format(i.number), i.file.read())
|
zipf.writestr('{}.pdf'.format(i.number), i.file.read())
|
||||||
i.file.close()
|
i.file.close()
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import cProfile
|
import cProfile
|
||||||
import os
|
import os
|
||||||
import random
|
import random
|
||||||
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import logging
|
import logging
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
import pytz
|
|
||||||
|
|
||||||
|
import pytz
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
from django.shortcuts import redirect
|
from django.shortcuts import redirect
|
||||||
|
|||||||
Reference in New Issue
Block a user