mirror of
https://github.com/pretix/pretix.git
synced 2026-05-03 14:54:04 +00:00
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.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)}))
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user