Fix invoice download if not all invoices have PDFs yet

This commit is contained in:
Raphael Michel
2016-11-11 15:05:39 +01:00
parent 4d8c3fe435
commit 342a41f1d7
3 changed files with 6 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ from django.dispatch import receiver
from django.utils.translation import ugettext as _
from ..exporter import BaseExporter
from ..services.invoices import invoice_pdf_task
from ..signals import register_data_exporters
@@ -17,6 +18,9 @@ class InvoiceExporter(BaseExporter):
with tempfile.TemporaryDirectory() as d:
with ZipFile(os.path.join(d, 'tmp.zip'), 'w') as zipf:
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')
zipf.writestr('{}.pdf'.format(i.number), i.file.read())
i.file.close()

View File

@@ -1,8 +1,8 @@
import cProfile
import os
import random
import time
from django.conf import settings

View File

@@ -1,7 +1,7 @@
import logging
from datetime import timedelta
import pytz
import pytz
from django.contrib import messages
from django.db.models import Q
from django.shortcuts import redirect