Compare commits

...

6 Commits

Author SHA1 Message Date
Phin Wolkwitz
df65650f4e Fix empty info error 2026-02-09 13:03:21 +01:00
Phin Wolkwitz
ff8914bc79 Fix previous changes, add describe function 2026-02-09 12:33:50 +01:00
Phin Wolkwitz
49b1c61dd1 Move checks to describe function 2025-12-19 13:13:01 +01:00
Phin Wolkwitz
db47f5638e Improve helper function 2025-12-19 12:12:17 +01:00
Phin Wolkwitz
a2dc467d0b Remove iteration over unnecessary transmission types 2025-12-18 16:56:19 +01:00
Phin Wolkwitz
dc1a115863 Hide info from invisible fields in confirmation step 2025-12-17 16:49:46 +01:00
2 changed files with 19 additions and 10 deletions

View File

@@ -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.

View File

@@ -3529,18 +3529,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