forked from CGM_Public/pretix_original
Fixed and simplified PDF exports
This commit is contained in:
@@ -355,4 +355,4 @@ class ExportView(EventPermissionRequiredMixin, TemplateView):
|
|||||||
cf.expires = now() + timedelta(days=3)
|
cf.expires = now() + timedelta(days=3)
|
||||||
cf.save()
|
cf.save()
|
||||||
export(self.request.event.id, str(cf.id), self.exporter.identifier, self.exporter.form.cleaned_data)
|
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)}))
|
||||||
|
|||||||
@@ -9,11 +9,17 @@ from pretix.base.exporter import BaseExporter
|
|||||||
from pretix.base.services.stats import order_overview
|
from pretix.base.services.stats import order_overview
|
||||||
|
|
||||||
|
|
||||||
class Report:
|
class Report(BaseExporter):
|
||||||
name = "report"
|
name = "report"
|
||||||
|
|
||||||
|
def verbose_name(self) -> str:
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
|
def identifier(self) -> str:
|
||||||
|
raise NotImplementedError()
|
||||||
|
|
||||||
def __init__(self, event):
|
def __init__(self, event):
|
||||||
self.event = event
|
super().__init__(event)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def pagesize(self):
|
def pagesize(self):
|
||||||
@@ -21,6 +27,9 @@ class Report:
|
|||||||
|
|
||||||
return pagesizes.portrait(pagesizes.A4)
|
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):
|
def get_filename(self):
|
||||||
return "%s-%s.pdf" % (self.name, now().strftime("%Y-%m-%d-%H-%M-%S"))
|
return "%s-%s.pdf" % (self.name, now().strftime("%Y-%m-%d-%H-%M-%S"))
|
||||||
|
|
||||||
@@ -104,6 +113,8 @@ class Report:
|
|||||||
|
|
||||||
class OverviewReport(Report):
|
class OverviewReport(Report):
|
||||||
name = "overview"
|
name = "overview"
|
||||||
|
identifier = 'pdfreport'
|
||||||
|
verbose_name = _('Order overview (PDF)')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def pagesize(self):
|
def pagesize(self):
|
||||||
@@ -197,12 +208,3 @@ class OverviewReport(Report):
|
|||||||
table.setStyle(TableStyle(tstyledata))
|
table.setStyle(TableStyle(tstyledata))
|
||||||
story.append(table)
|
story.append(table)
|
||||||
return story
|
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()
|
|
||||||
|
|||||||
@@ -5,5 +5,5 @@ from pretix.base.signals import register_data_exporters
|
|||||||
|
|
||||||
@receiver(register_data_exporters, dispatch_uid="export_overview_report_pdf")
|
@receiver(register_data_exporters, dispatch_uid="export_overview_report_pdf")
|
||||||
def register_report_pdf(sender, **kwargs):
|
def register_report_pdf(sender, **kwargs):
|
||||||
from .exporters import OverviewReportExporter
|
from .exporters import OverviewReport
|
||||||
return OverviewReportExporter
|
return OverviewReport
|
||||||
|
|||||||
Reference in New Issue
Block a user