mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-08-25 06:55:17 +02:00
feat: extend inventory and administration workflows
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user