Added
- Color-coded Service End and Warranty End dates. The
Service Endand
Warranty Endcolumns in asset tables (andService Endin asset service
tables) now render each date as a badge — red when the date has passed,
orange when it falls within the configured warning window, green
when it is further out or open-ended. Hovering a badge shows the same
human-readable message as the status bars ("Expired 11 years ago",
"Expires in 45 days"). Assets with several services get one badge per
service, aligned with theService StartandService Statuscolumns. A
period with a start but no end is open-ended coverage and shows a green∞
badge; a record with no dates at all keeps the usual placeholder. The badges
export as plain ISO dates, matching the other date columns. (#22) - Asset type badges in the asset table now pick black or white text based on
the type color, using NetBox'sfgcolorfilter. Dark type colors such as
blue or purple were previously unreadable. (#22) - Expired and expiring date badges carry an icon in addition to their color, so
the "needs attention" states survive color blindness and greyscale printing
(WCAG 1.4.1). Every badge and status bar also exposes anaria-label. (#22) - Status bars on contract, invoice, asset and asset service detail pages now
show the date range on hover, which previously only the asset list did. Service StatusandWarranty Statusfilters on the Asset list, matching
the color bands above: Expired / Expiring soon / Valid / No service
records (Not set for warranty). Both are multi-select and return the union
of the selected bands. Service Status uses any-match semantics — an asset with
one expired and one valid service appears under both. Available in the UI and
over REST (?service_status=expired). (#22)
Fixed
- The date badges and the status bars could disagree. The badges used a
second, parallel status function, so a period that had not started yet showed
blue "Starts in 30 days" in the status column but green "Valid until …" in the
end-date column, and an object with no dates at all showed a placeholder in one
and a green badge in the other. Both now read the same
get_<type>_status()through theget_statustemplate filter, so they cannot
diverge. Verified across 244 rendered row/column pairs. (#22) Warranty Start(asset tables) andService Start(asset service tables)
rendered dates in the localized long format, e.g. "June 3, 2022", while every
other date in the plugin uses ISOYYYY-MM-DD. Both now use NetBox's
DateColumn, so all date columns and CSV exports agree. (#22)- Date status messages said "Expired in 0 days" for a date falling on today.
They now read "Expired today" / "Expires today". This also affects the
existing Service, Warranty and Invoicing status bars.
Changed
- Status bars and date badges are rendered by two shared includes
(inc/status_badge.html,inc/date_badge.html) instead of hand-built
template strings.role="progressbar"was dropped from the bars — they are
always full width, so they label a state rather than measure progress, and the
role made screen readers announce a progress bar with nothing to report. All
tooltips now usedata-bs-toggle="tooltip"rather than a mix of Bootstrap and
baretitleattributes. warning_daysnow falls back to defaults (service: 60,warranty: 60,
invoicing: 30) when a key is not configured, so color indicators work out of
the box. Previously a missing key meant no colors at all. Deployments that
relied on omittingwarning_daysto suppress color indicators will now see
them — set the key explicitly toNone(e.g."warning_days": {"service": None}) to keep them off.