diff --git a/src/pretix/base/invoicing/transmission.py b/src/pretix/base/invoicing/transmission.py index e04c02e61..9c6899381 100644 --- a/src/pretix/base/invoicing/transmission.py +++ b/src/pretix/base/invoicing/transmission.py @@ -21,6 +21,7 @@ # from typing import Optional +from django.utils.translation import gettext_lazy as _ from django_countries.fields import Country from pretix.base.models import Invoice, InvoiceAddress @@ -106,6 +107,22 @@ class TransmissionType: def transmission_info_to_form_data(self, transmission_info: dict) -> dict: return transmission_info + def describe_info(self, transmission_info: dict, country: Country, is_business: bool): + form_data = self.transmission_info_to_form_data(transmission_info) + data = [] + visible_field_keys = self.invoice_address_form_fields_visible(country, is_business) + for k, f in self.invoice_address_form_fields.items(): + if k not in visible_field_keys: + continue + v = form_data.get(k) + if v is True: + v = _("Yes") + elif v is False: + v = _("No") + if v: + data.append((f.label, v)) + return data + def pdf_watermark(self) -> Optional[str]: """ Return a watermark that should be rendered across the PDF file. diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 6ae0e027a..1b2f459d2 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -3507,18 +3507,10 @@ class InvoiceAddress(models.Model): def describe_transmission(self): from pretix.base.invoicing.transmission import transmission_types data = [] - t, __ = transmission_types.get(identifier=self.transmission_type) data.append((_("Transmission type"), t.public_name)) - form_data = t.transmission_info_to_form_data(self.transmission_info or {}) - for k, f in t.invoice_address_form_fields.items(): - v = form_data.get(k) - if v is True: - v = _("Yes") - elif v is False: - v = _("No") - if v: - data.append((f.label, v)) + if self.transmission_info: + data += t.describe_info(self.transmission_info, self.country, self.is_business) return data