From b2e1827e5da3db0f8d99dc40b4133c19335323fa Mon Sep 17 00:00:00 2001 From: cproudlock Date: Sun, 12 Jul 2026 14:13:15 -0400 Subject: [PATCH] Normalize the asset detail card layout across all five pages One canonical card order applied to machines, PCs, printers, network, and measuring tools: Identity -> type-specific -> status -> Location & Organization -> domain -> Custom Fields -> Warranty -> Relationships -> Notes -> audit footer, with a documenting comment on each page so they stop drifting. The location card is Location & Organization everywhere; the network detail page is rebuilt into the family (Asset Information folded into Identity, Record Info retired for the standard audit footer, a Location & Organization card added). Fixed two latent bugs found in the process: printer detail had no audit footer, and the network Record Info read datecreated/datemodified (not in the payload) so its timestamps rendered blank - the footer now uses the correct fields. Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 12 ++ frontend/src/views/machines/MachineDetail.vue | 58 ++++---- .../measuringtools/MeasuringToolDetail.vue | 1 + .../src/views/network/NetworkDeviceDetail.vue | 131 +++++++++--------- frontend/src/views/pcs/PCDetail.vue | 43 +++--- frontend/src/views/printers/PrinterDetail.vue | 69 ++++----- 6 files changed, 168 insertions(+), 146 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db4f9d3..df8239a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,18 @@ ADR-007 and ADR-002. ## [Unreleased] +### Changed + +- Asset detail pages (machines, PCs, printers, network devices, measuring + tools) now share one canonical card skeleton: Identity -> type-specific -> + status -> Location & Organization -> domain -> Custom Fields -> Warranty -> + Relationships -> Notes -> audit footer. The location card reads "Location & + Organization" on every page. The network device page was rebuilt into the + family (its "Asset Information" folded into Identity, "Record Info" converted + to the standard audit footer). Printer Notes moved out of mid-page to + second-to-last and the printer gained an audit footer. Template reordering + only; no data or API changes. + ### Fixed - PC detail Installed Applications no longer 500s and silently disappears on diff --git a/frontend/src/views/machines/MachineDetail.vue b/frontend/src/views/machines/MachineDetail.vue index e2928fa..0e31ae0 100644 --- a/frontend/src/views/machines/MachineDetail.vue +++ b/frontend/src/views/machines/MachineDetail.vue @@ -72,6 +72,7 @@ +
@@ -137,6 +138,35 @@
+ + + +
+ +
+

Location & Organization

+
+
+ Location + + + {{ machine.locationname || 'On Map' }} + + {{ machine.locationname || '-' }} + +
+
+ Business Unit + {{ machine.businessunitname || '-' }} +
+
+
+

Configuration

@@ -170,34 +200,6 @@
- - - -
- -
-

Location & Organization

-
-
- Location - - - {{ machine.locationname || 'On Map' }} - - {{ machine.locationname || '-' }} - -
-
- Business Unit - {{ machine.businessunitname || '-' }} -
-
-
diff --git a/frontend/src/views/measuringtools/MeasuringToolDetail.vue b/frontend/src/views/measuringtools/MeasuringToolDetail.vue index 9239bc8..a396ba3 100644 --- a/frontend/src/views/measuringtools/MeasuringToolDetail.vue +++ b/frontend/src/views/measuringtools/MeasuringToolDetail.vue @@ -48,6 +48,7 @@
+
diff --git a/frontend/src/views/network/NetworkDeviceDetail.vue b/frontend/src/views/network/NetworkDeviceDetail.vue index 6e3f82d..c52af30 100644 --- a/frontend/src/views/network/NetworkDeviceDetail.vue +++ b/frontend/src/views/network/NetworkDeviceDetail.vue @@ -59,56 +59,12 @@
+
- +
-

Network Information

-
-
- Hostname - {{ device.networkdevice?.hostname || '-' }} -
-
- Firmware Version - {{ device.networkdevice?.firmwareversion || '-' }} -
-
- Port Count - {{ device.networkdevice?.portcount || '-' }} -
-
- Rack Unit - {{ device.networkdevice?.rackunit || '-' }} -
-
- PoE Capable - {{ device.networkdevice?.ispoe ? 'Yes' : 'No' }} -
-
- Managed Device - {{ device.networkdevice?.ismanaged ? 'Yes' : 'No' }} -
-
-
- - - - - - - - -
-

Notes

-
{{ device.notes }}
-
-
- -
- -
-

Asset Information

+

Identity

Asset Number @@ -138,16 +94,62 @@ Device Type {{ device.networkdevice?.networkdevicetypename || '-' }}
+
+
+ + +
+

Network Information

+
- Status - - - {{ device.statusname || 'Unknown' }} - - + Hostname + {{ device.networkdevice?.hostname || '-' }} +
+
+ Firmware Version + {{ device.networkdevice?.firmwareversion || '-' }} +
+
+ Port Count + {{ device.networkdevice?.portcount || '-' }} +
+
+ Rack Unit + {{ device.networkdevice?.rackunit || '-' }} +
+
+ PoE Capable + {{ device.networkdevice?.ispoe ? 'Yes' : 'No' }} +
+
+ Managed Device + {{ device.networkdevice?.ismanaged ? 'Yes' : 'No' }}
+
+ +
+ +
+

Location & Organization

+
+
+ Location + {{ device.locationname || '-' }} +
+
+ Business Unit + {{ device.businessunitname || '-' }} +
+
+
+ + + + + + - -
-

Record Info

-
-
- Created - {{ formatDate(device.datecreated) }} -
-
- Last Modified - {{ formatDate(device.datemodified) }} -
-
+ +
+

Notes

+
{{ device.notes }}
@@ -184,6 +177,12 @@ Delete Device
+ + +
diff --git a/frontend/src/views/pcs/PCDetail.vue b/frontend/src/views/pcs/PCDetail.vue index 30e9575..bc6e637 100644 --- a/frontend/src/views/pcs/PCDetail.vue +++ b/frontend/src/views/pcs/PCDetail.vue @@ -49,6 +49,7 @@
+
@@ -118,6 +119,25 @@ None configured
+ + +
+

Status

+
+
+ Logged In User + {{ computer.computer?.loggedinuser || '-' }} +
+
+ Last Reported + {{ computer.computer?.lastreporteddate ? formatDate(computer.computer.lastreporteddate) : 'Never' }} +
+
+ Last Boot + {{ computer.computer?.lastboottime ? formatDate(computer.computer.lastboottime) : '-' }} +
+
+
@@ -140,28 +160,9 @@

No network addresses on record

- +
-

Status

-
-
- Logged In User - {{ computer.computer?.loggedinuser || '-' }} -
-
- Last Reported - {{ computer.computer?.lastreporteddate ? formatDate(computer.computer.lastreporteddate) : 'Never' }} -
-
- Last Boot - {{ computer.computer?.lastboottime ? formatDate(computer.computer.lastboottime) : '-' }} -
-
-
- - -
-

Location

+

Location & Organization

Location diff --git a/frontend/src/views/printers/PrinterDetail.vue b/frontend/src/views/printers/PrinterDetail.vue index 80ad98d..751b4c7 100644 --- a/frontend/src/views/printers/PrinterDetail.vue +++ b/frontend/src/views/printers/PrinterDetail.vue @@ -57,6 +57,7 @@
+
@@ -126,28 +127,29 @@
- - - - - - - - - - - -
-

Notes

-

{{ printer.notes }}

-
- + +
+

Network

+
+
+
+ {{ comm.ipaddress || comm.address || '-' }} + Primary +
+
+ {{ comm.macaddress }} +
+
+
+
+ +
-

Location

+

Location & Organization

Map Location @@ -170,20 +172,19 @@
- -
-

Network

-
-
-
- {{ comm.ipaddress || comm.address || '-' }} - Primary -
-
- {{ comm.macaddress }} -
-
-
+ + + + + + + + + + +
+

Notes

+

{{ printer.notes }}

@@ -261,6 +262,12 @@
+ + +