mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-07-01 03:04:52 +02:00
refactor: localize UI labels and store filenames
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user