feat: extend inventory and administration workflows

This commit is contained in:
Marcel Peterkau
2026-07-22 22:26:02 +02:00
parent aeaaca1459
commit 070684d9bc
17 changed files with 1342 additions and 69 deletions
+18 -2
View File
@@ -31,7 +31,9 @@ ASSET_TABLE_COLUMNS = (
("category", "Kategorie", 140),
("inventory_number", "Inventarnummer", 140),
("status", "Status", 140),
("holder", "Mitglied", 240),
("owner", "Eigentümer", 240),
("holder", "Gewahrsam", 240),
("location", "Standort", 180),
)
@@ -77,7 +79,7 @@ def _filter_label_frame(parent: tk.Misc) -> ttk.LabelFrame:
return titled_frame(parent, "// FILTER")
def _asset_table_value(asset: Asset, column: str, holder_label: str) -> str:
def _asset_table_value(asset: Asset, column: str, holder_label: str, owner_label: str = "") -> str:
if column == "label":
return asset.label
if column == "category":
@@ -88,6 +90,10 @@ def _asset_table_value(asset: Asset, column: str, holder_label: str) -> str:
return ASSET_STATUS_LABELS.get(asset.status, asset.status)
if column == "holder":
return holder_label
if column == "owner":
return owner_label
if column == "location":
return asset.location
return ""
@@ -429,6 +435,7 @@ class AssetsTab(ttk.Frame):
asset,
self.sort_column,
self.resolve_holder_label(asset.current_holder_member_id),
self._owner_label(asset),
).casefold(),
reverse=self.sort_descending,
)
@@ -447,11 +454,20 @@ class AssetsTab(ttk.Frame):
asset.category,
asset.inventory_number,
ASSET_STATUS_LABELS.get(asset.status, asset.status),
self._owner_label(asset),
self.resolve_holder_label(asset.current_holder_member_id),
asset.location,
),
)
self._update_actions()
def _owner_label(self, asset: Asset) -> str:
if asset.owner_type == "club":
return "Verein"
if asset.owner_type == "member":
return self.resolve_holder_label(asset.owner_member_id)
return asset.owner_name or "Extern"
def _toggle_sort(self, column: str) -> None:
if self.sort_column == column:
self.sort_descending = not self.sort_descending