Dashboard corrections

This commit is contained in:
2026-08-11 16:27:14 -04:00
parent 2d19bcdf60
commit 568dfbb91c
7 changed files with 85 additions and 13 deletions

View File

@@ -1034,6 +1034,8 @@ def _get_low_supplies_data():
'vendor': vendor_name,
'model': model_number,
'location': location_name,
'mapx': asset.mapx,
'mapy': asset.mapy,
'supplies': annotated
})
@@ -1464,6 +1466,11 @@ def dashboard_supplies():
'printerid': printer['printerid'],
'printername': printer['printername'] or printer['assetnumber'],
'location': printer['location'] or 'No location set',
# Coordinates for the hover preview. Either may be None - a
# printer never placed on the floor plan still belongs on the
# card, it just has nothing to preview.
'mapx': printer.get('mapx'),
'mapy': printer.get('mapy'),
'iscritical': any(s['status'] == 'critical' for s in depleted),
'supplies': [{
'text': '{} {}%'.format(_shortsupplyname(supply.get('name')),

View File

@@ -325,6 +325,12 @@ class PrintersPlugin(BasePlugin):
# for "where do I walk", not part of the finding, and it
# was the text pushing rows past the card edge.
'titletooltip': 'location',
# Hovering the name shows the floor-plan preview, the
# same component the printer's own page uses: a
# location name tells you the room, the map tells you
# where to walk.
'maphover': {'x': 'mapx', 'y': 'mapy',
'label': 'printername'},
'chips': 'supplies',
'link': '/printers/{printerid}',
},

View File

@@ -439,7 +439,11 @@ def dashboard_expiring():
machine = _related_machine(asset)
rows.append({
'assetid': asset.assetid,
'hostname': _hostname(asset) or asset.assetnumber or asset.name,
# Hostname, else the asset number - never asset.name. The name
# of a covered PC's ASSET is often the machine's descriptive name
# ("Haas VF-2"), so falling back to it put a machine name in a
# column that is supposed to identify the PC.
'hostname': _hostname(asset) or asset.assetnumber or str(asset.assetid),
'machinenumber': machine['machinenumber'] if machine else None,
'state': 'expired' if remaining < 0 else 'expiring',
'daysleft': remaining,

View File

@@ -139,7 +139,10 @@ class WarrantyPlugin(BasePlugin):
# date: expired or expiring is the whole decision when
# scanning a board, and the exact day belongs on the report
# you order from.
'meta': [{'key': 'machinenumber', 'label': 'machine'}],
# Bare number, no label. The row is hostname, machine,
# state - three short facts, and "machine 3015" spends a
# word saying what the position already says.
'meta': [{'key': 'machinenumber'}],
'link': '/assets/{assetid}',
},
},