feat(assets): edit-modal write surface for CMDB expansion fields (PMS-473) #328
No reviewers
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
psa-systems/mokosh-apps!328
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/PMS-473-cmdb-asset-edit-fields"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
PMS-454 phase 1 added the CMDB asset expansion server-side (assigned_user_id, ip_address, hostname, mac_address, installed_date, department, in_transit_ticket_id columns + the new
in_transitasset status) and an earlier client PR landed the read surface on the asset detail page. The edit modal was the open follow-up - agents had to set these fields through the API. PMS-473 closes that loop:Seven new field signals (
e_assigned_user,e_ip,e_hostname,e_mac,e_installed,e_department,e_in_transit) seed off the loaded asset on edit-open. Empty signals serialise to a JSON null in the PUT body so the serverCOALESCEs the column rather than rewriting it - a partial edit only sends what changed.Form layout in the edit modal: an Assigned-user
Selectbuilt from the already-cachedusers_resource(no extra/auth/usersfetch); a hostname/IP row with a help line documenting the IPv4-or-IPv6 server validator; a MAC/Installed-date row; a free-text Department input; a free-text In-transit ticket UUID input. The grid layout matches the surrounding two-column shape so the existing dispatcher mental model keeps working.The save handler appends
assigned_user_id,ip_address,hostname,mac_address,installed_date,department, andin_transit_ticket_idto the body. The server-side validators stay the source of truth for value shape (INET / MAC / UUID FK) so a malformed value still 422s with a field-named hint.The asset-list
?in_transitfilter and a typeahead Ticket picker for the in-transit reference both stay as future follow-ups - the picker UI doesn't exist as a reusable primitive yet and a one-shot version would be its own scope.#PMS-473
4dbc7494d01126d341da