Update member UI and related app changes

This commit is contained in:
Marcel Peterkau
2026-06-26 21:57:11 +02:00
parent 833075f0dc
commit 30b6d253b2
18 changed files with 490 additions and 84 deletions
+27
View File
@@ -20,6 +20,30 @@ MEMBERSHIP_STATUS_LABELS = {
"ended": "BEENDET",
}
HOUSEKEEPER_MEMBER_FIELD_LABELS = {
"nickname": "Nickname",
"email": "E-Mail-Adresse",
"phone": "Telefonnummer",
"birth_date": "Geburtsdatum",
"street": "Straße und Hausnummer",
"postal_code": "Postleitzahl",
"city": "Ort",
"country": "Land",
"accepted_at": "Aufnahmebeschluss",
"membership_started_at": "Mitglied seit",
}
DEFAULT_OPTIONAL_MEMBER_FIELDS = tuple(
field for field in HOUSEKEEPER_MEMBER_FIELD_LABELS if field != "birth_date"
)
def normalize_optional_member_fields(values: Any) -> tuple[str, ...]:
if not isinstance(values, (list, tuple, set, frozenset)):
return ()
selected = {str(value).strip() for value in values}
return tuple(field for field in HOUSEKEEPER_MEMBER_FIELD_LABELS if field in selected)
@dataclass(slots=True)
class Member:
@@ -27,6 +51,7 @@ class Member:
member_number: str
first_name: str
last_name: str
nickname: str = ""
email: str = ""
phone: str = ""
birth_date: str = ""
@@ -65,6 +90,7 @@ class Member:
"person": {
"first_name": self.first_name,
"last_name": self.last_name,
"nickname": self.nickname,
"birth_date": self.birth_date,
"email": self.email,
"phone": self.phone,
@@ -113,6 +139,7 @@ class Member:
member_number=str(data.get("member_number", "")),
first_name=str(person.get("first_name", "")),
last_name=str(person.get("last_name", "")),
nickname=str(person.get("nickname", "")),
email=str(person.get("email", "")),
phone=str(person.get("phone", "")),
birth_date=str(person.get("birth_date", "")),