Fixed and simplified PDF exports

This commit is contained in:
Raphael Michel
2015-10-11 19:50:08 +02:00
parent 974c5cee79
commit 8dec1abf12
3 changed files with 16 additions and 14 deletions

View File

@@ -355,4 +355,4 @@ class ExportView(EventPermissionRequiredMixin, TemplateView):
cf.expires = now() + timedelta(days=3)
cf.save()
export(self.request.event.id, str(cf.id), self.exporter.identifier, self.exporter.form.cleaned_data)
return redirect(reverse('presale:cachedfile.download', kwargs={'id': cf.id}))
return redirect(reverse('cachedfile.download', kwargs={'id': str(cf.id)}))

View File

@@ -9,11 +9,17 @@ from pretix.base.exporter import BaseExporter
from pretix.base.services.stats import order_overview
class Report:
class Report(BaseExporter):
name = "report"
def verbose_name(self) -> str:
raise NotImplementedError()
def identifier(self) -> str:
raise NotImplementedError()
def __init__(self, event):
self.event = event
super().__init__(event)
@property
def pagesize(self):
@@ -21,6 +27,9 @@ class Report:
return pagesizes.portrait(pagesizes.A4)
def render(self, form_data):
return 'report-%s.pdf' % self.event.slug, 'application/pdf', self.create()
def get_filename(self):
return "%s-%s.pdf" % (self.name, now().strftime("%Y-%m-%d-%H-%M-%S"))
@@ -104,6 +113,8 @@ class Report:
class OverviewReport(Report):
name = "overview"
identifier = 'pdfreport'
verbose_name = _('Order overview (PDF)')
@property
def pagesize(self):
@@ -197,12 +208,3 @@ class OverviewReport(Report):
table.setStyle(TableStyle(tstyledata))
story.append(table)
return story
class OverviewReportExporter(BaseExporter):
identifier = 'pdfreport'
verbose_name = _('Order overview (PDF)')
def render(self, form_data):
report = OverviewReport(self.event)
return 'report-%s.pdf' % self.event.slug, 'application/pdf', report.create()

View File

@@ -5,5 +5,5 @@ from pretix.base.signals import register_data_exporters
@receiver(register_data_exporters, dispatch_uid="export_overview_report_pdf")
def register_report_pdf(sender, **kwargs):
from .exporters import OverviewReportExporter
return OverviewReportExporter
from .exporters import OverviewReport
return OverviewReport