diff --git a/src/pretix/base/invoice.py b/src/pretix/base/invoice.py index 5790b42208..bdc9836de6 100644 --- a/src/pretix/base/invoice.py +++ b/src/pretix/base/invoice.py @@ -282,16 +282,19 @@ class ClassicInvoiceRenderer(BaseReportlabInvoiceRenderer): preserveAspectRatio=True, anchor='n', mask='auto') - if self.invoice.event.settings.show_date_to: - p_str = ( - str(self.invoice.event.name) + '\n' + pgettext('invoice', '{from_date}\nuntil {to_date}').format( - from_date=self.invoice.event.get_date_from_display(), - to_date=self.invoice.event.get_date_to_display()) - ) + if not self.invoice.event.has_subevents: + if self.invoice.event.settings.show_date_to: + p_str = ( + str(self.invoice.event.name) + '\n' + pgettext('invoice', '{from_date}\nuntil {to_date}').format( + from_date=self.invoice.event.get_date_from_display(), + to_date=self.invoice.event.get_date_to_display()) + ) + else: + p_str = ( + str(self.invoice.event.name) + '\n' + self.invoice.event.get_date_from_display() + ) else: - p_str = ( - str(self.invoice.event.name) + '\n' + self.invoice.event.get_date_from_display() - ) + p_str = str(self.invoice.event.name) p = Paragraph(p_str.strip().replace('\n', '
\n'), style=self.stylesheet['Normal']) p.wrapOn(canvas, 65 * mm, 50 * mm) diff --git a/src/pretix/base/services/invoices.py b/src/pretix/base/services/invoices.py index 6a34c0af6a..0892dff79d 100644 --- a/src/pretix/base/services/invoices.py +++ b/src/pretix/base/services/invoices.py @@ -92,7 +92,7 @@ def build_invoice(invoice: Invoice) -> Invoice: invoice.lines.all().delete() positions = list( - invoice.order.positions.select_related('addon_to', 'item', 'tax_rule', 'variation').annotate( + invoice.order.positions.select_related('addon_to', 'item', 'tax_rule', 'subevent', 'variation').annotate( addon_c=Count('addons') ) ) @@ -111,6 +111,8 @@ def build_invoice(invoice: Invoice) -> Invoice: desc = " + " + desc if invoice.event.settings.invoice_attendee_name and p.attendee_name: desc += "
" + pgettext("invoice", "Attendee: {name}").format(name=p.attendee_name) + if invoice.event.has_subevents: + desc += "
" + pgettext("subevent", "Date: {}").format(p.subevent) InvoiceLine.objects.create( position=i, invoice=invoice, description=desc, gross_value=p.price, tax_value=p.tax_value,