refactor: localize UI labels and store filenames

This commit is contained in:
Marcel Peterkau
2026-06-21 18:25:58 +02:00
parent 80d4d5ef90
commit e7962f77e1
9 changed files with 87 additions and 29 deletions
+10 -3
View File
@@ -12,6 +12,7 @@ from ccma.domain.dates import age_label, date_input_hint, format_date_for_displa
from ccma.domain.models import MEMBERSHIP_STATUS_LABELS as STATUS_LABELS
from ccma.domain.models import Event
from ccma.storage.repository import MemberRepository, RepositoryError
from ccma.ui.labels import display_label, storage_key
class MemberTab(ttk.Frame):
@@ -121,7 +122,7 @@ class MemberTab(ttk.Frame):
ttk.Combobox(
data_tab,
textvariable=self.variables["status"],
values=list(STATUS_LABELS),
values=list(STATUS_LABELS.values()),
state="readonly",
width=39,
).grid(row=len(fields), column=1, sticky="ew", pady=5)
@@ -196,7 +197,10 @@ class MemberTab(ttk.Frame):
date_fields = {"birth_date", "accepted_at", "membership_started_at"}
for key, variable in self.variables.items():
value = getattr(self.member, key)
variable.set(format_date_for_display(value) if key in date_fields else value)
if key == "status":
variable.set(display_label(STATUS_LABELS, str(value)))
else:
variable.set(format_date_for_display(value) if key in date_fields else value)
self._refresh_events()
self._refresh_contributions()
self._refresh_documents()
@@ -248,7 +252,10 @@ class MemberTab(ttk.Frame):
def _save(self) -> None:
for key, variable in self.variables.items():
setattr(self.member, key, variable.get().strip())
value = variable.get().strip()
if key == "status":
value = storage_key(STATUS_LABELS, value)
setattr(self.member, key, value)
try:
self.repository.save_member(self.member)
except RepositoryError as exc: