feat(assets): warranty-expiry 'Needs refresh' / 'Expires soon' badge (MAPPS-305) #309

Merged
YousifShkara merged 1 commit from feat/MAPPS-305-warranty-needs-refresh-tag into main 2026-06-21 11:17:54 +02:00
Owner

The asset detail page rendered the warranty date as text, so an admin had to spreadsheet-sweep the list to find devices in or past their warranty window. Derive a refresh-status bucket at read time from the warranty_expiry date compared to today (in the user's profile timezone, via user_today from PMS-360): expired -> red "Needs refresh", within 30 days -> yellow "Expires soon", further out -> nothing. The badge sits next to the warranty date on the Status sidebar so a tech sees the cue without leaving the asset view. No scheduled job, no schema change - pure derived display from existing data. Threshold is hardcoded at 30 days; the operator-configurable threshold + asset-list "Needs refresh" filter (also called out on the ticket) are tracked as follow-ups under MAPPS-305.

#MAPPS-305

The asset detail page rendered the warranty date as text, so an admin had to spreadsheet-sweep the list to find devices in or past their warranty window. Derive a refresh-status bucket at read time from the `warranty_expiry` date compared to today (in the user's profile timezone, via `user_today` from PMS-360): expired -> red "Needs refresh", within 30 days -> yellow "Expires soon", further out -> nothing. The badge sits next to the warranty date on the Status sidebar so a tech sees the cue without leaving the asset view. No scheduled job, no schema change - pure derived display from existing data. Threshold is hardcoded at 30 days; the operator-configurable threshold + asset-list "Needs refresh" filter (also called out on the ticket) are tracked as follow-ups under MAPPS-305. #MAPPS-305
feat(assets): warranty-expiry 'Needs refresh' / 'Expires soon' badge (MAPPS-305)
All checks were successful
Check / clippy + fmt + tests (pull_request) Successful in 1m33s
Create release / Create release from merged PR (pull_request) Has been skipped
e56bf0c99d
The asset detail page rendered the warranty date as text, so an admin had to spreadsheet-sweep the list to find devices in or past their warranty window. Derive a refresh-status bucket at read time from the `warranty_expiry` date compared to today (in the user's profile timezone, via `user_today` from PMS-360): expired -> red "Needs refresh", within 30 days -> yellow "Expires soon", further out -> nothing. The badge sits next to the warranty date on the Status sidebar so a tech sees the cue without leaving the asset view. No scheduled job, no schema change - pure derived display from existing data. Threshold is hardcoded at 30 days; the operator-configurable threshold + asset-list "Needs refresh" filter (also called out on the ticket) are tracked as follow-ups under MAPPS-305.

#MAPPS-305
YousifShkara deleted branch feat/MAPPS-305-warranty-needs-refresh-tag 2026-06-21 11:17:54 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!309
No description provided.