feat(assets): bulk-edit modal for Status / Company over N selected assets (MAPPS-303) #311
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!311
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/MAPPS-303-bulk-asset-edit"
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?
Built on the MAPPS-290 bulk-actions primitive. The Assets list now:
use_bulk_selection()at page scope;SelectAllHeader+ per-rowSelectRowCellso a user can pick the assets to operate on;BulkActionsBar"Bulk edit" button when the selection is non-empty;Submit validates that at least one field is being changed, builds a partial JSON body containing only the toggled fields, and fires N parallel
PUT /assets/{id}calls viafutures_util::future::join_all. Surfaces a success toast on N-of-N success or a partial-failure toast with the per-failure count, then clears the selection and restarts the assets resource so the list repaints with the new values.Stacked on
feat/MAPPS-290-bulk-actions-primitive; merge that first. The remaining fields the QA called out (Location, Site, Assigned-to, Department) need the asset schema to expose them as first-class columns; those land with PMS-454 (CMDB expand). Status + Company are the two columns that exist today and they cover the QA's primary use cases.#MAPPS-303
Built on the MAPPS-290 bulk-actions primitive. The Assets list now: - mounts `use_bulk_selection()` at page scope; - renders a `SelectAllHeader` + per-row `SelectRowCell` so a user can pick the assets to operate on; - shows a `BulkActionsBar` "Bulk edit" button when the selection is non-empty; - opens a modal whose two fields (Status, Company) are each gated on a "Change this field" checkbox so the user can mass-set a subset. Office-move pattern is one checkbox + one company; tech-refresh pattern is one checkbox + one status. Submit validates that at least one field is being changed, builds a partial JSON body containing only the toggled fields, and fires N parallel `PUT /assets/{id}` calls via `futures_util::future::join_all`. Surfaces a success toast on N-of-N success or a partial-failure toast with the per-failure count, then clears the selection and restarts the assets resource so the list repaints with the new values. Stacked on `feat/MAPPS-290-bulk-actions-primitive`; merge that first. The remaining fields the QA called out (Location, Site, Assigned-to, Department) need the asset schema to expose them as first-class columns; those land with PMS-454 (CMDB expand). Status + Company are the two columns that exist today and they cover the QA's primary use cases. #MAPPS-303