mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-07-03 12:10:05 +02:00
feat: add member address and SEPA data
This commit is contained in:
@@ -116,7 +116,16 @@ class DocumentService:
|
||||
if reminder is None:
|
||||
raise DocumentError("Die ausgewählte Mahnung wurde nicht gefunden.")
|
||||
|
||||
values = _template_values(member, data=data, claim=claim, reminder=reminder)
|
||||
organization = self.repository.get_configuration().get("organization") or {}
|
||||
if not isinstance(organization, dict):
|
||||
organization = {}
|
||||
values = _template_values(
|
||||
member,
|
||||
data=data,
|
||||
claim=claim,
|
||||
reminder=reminder,
|
||||
organization=organization,
|
||||
)
|
||||
destination_dir = self.repository.members_root / member_id / "files" / "documents"
|
||||
destination_dir.mkdir(parents=True, exist_ok=True)
|
||||
destination = _available_path(destination_dir, _safe_pdf_name(output_name))
|
||||
@@ -168,7 +177,18 @@ def _template_values(
|
||||
data=None,
|
||||
claim: dict | None = None,
|
||||
reminder: dict | None = None,
|
||||
organization: dict | None = None,
|
||||
) -> dict[str, str]:
|
||||
organization = organization or {}
|
||||
organization_address = " ".join(
|
||||
part
|
||||
for part in (
|
||||
str(organization.get("street", "")),
|
||||
str(organization.get("postal_code", "")),
|
||||
str(organization.get("city", "")),
|
||||
)
|
||||
if part
|
||||
)
|
||||
values = {
|
||||
"document.date": format_date_for_display(date.today().isoformat()),
|
||||
"document.datetime": datetime.now().astimezone().strftime("%d.%m.%Y %H:%M"),
|
||||
@@ -178,10 +198,38 @@ def _template_values(
|
||||
"member.last_name": member.last_name,
|
||||
"member.full_name": member.display_name,
|
||||
"member.email": member.email,
|
||||
"member.phone": member.phone,
|
||||
"member.birth_date": format_date_for_display(member.birth_date),
|
||||
"member.status": MEMBERSHIP_STATUS_LABELS.get(member.status, member.status),
|
||||
"member.accepted_at": format_date_for_display(member.accepted_at),
|
||||
"member.started_at": format_date_for_display(member.membership_started_at),
|
||||
"member.street": member.street,
|
||||
"member.address_addition": member.address_addition,
|
||||
"member.postal_code": member.postal_code,
|
||||
"member.city": member.city,
|
||||
"member.country": member.country,
|
||||
"member.address_line": " ".join(
|
||||
part for part in (member.street, member.postal_code, member.city) if part
|
||||
),
|
||||
"member.account_holder": member.account_holder,
|
||||
"member.iban": member.iban,
|
||||
"member.bic": member.bic,
|
||||
"member.mandate_reference": member.mandate_reference,
|
||||
"member.mandate_signed_at": format_date_for_display(member.mandate_signed_at),
|
||||
"member.mandate_revoked_at": format_date_for_display(member.mandate_revoked_at),
|
||||
"member.mandate_active": "Ja" if member.mandate_active else "Nein",
|
||||
"organization.name": str(organization.get("name", "")),
|
||||
"organization.street": str(organization.get("street", "")),
|
||||
"organization.postal_code": str(organization.get("postal_code", "")),
|
||||
"organization.city": str(organization.get("city", "")),
|
||||
"organization.country": str(organization.get("country", "")),
|
||||
"organization.address_line": organization_address,
|
||||
"organization.email": str(organization.get("email", "")),
|
||||
"organization.phone": str(organization.get("phone", "")),
|
||||
"organization.website": str(organization.get("website", "")),
|
||||
"organization.iban": str(organization.get("iban", "")),
|
||||
"organization.bic": str(organization.get("bic", "")),
|
||||
"organization.creditor_id": str(organization.get("creditor_id", "")),
|
||||
}
|
||||
if claim is not None and data is not None:
|
||||
claim_id = str(claim.get("claim_id", ""))
|
||||
|
||||
Reference in New Issue
Block a user