Commit Graph

60 Commits

Author SHA1 Message Date
benjamin.baker
0577e32240 add CSV import guide and clarify Azure export location
Adds a concise native-CSV import guide covering exact headers, required columns, foreign-key-by-name resolution, import order, and the do-not-edit rule for Azure/Thor exports. Also clarifies the Import Site Assets Azure card that Bulk operations lives in the top command bar of the group Members page, matching the Entra UI.
2026-08-25 17:12:01 -04:00
benjamin.baker
bdef21da50 add Entra device identity to computers and Azure/Thor import sources
PC records now carry Entra/Azure device identity so imported machines keep a durable link back to their directory object instead of matching on hostname alone. Adds azuredeviceid, azureobjectid, and azuredevicecategory to the Computer model with matching migrations, surfaces them read-only in PCDetail as an Entra Device Info card, and lets PCForm edit the device id directly. The computers plugin registers a machineassetnumber import hook that reconciles PC-to-machine links during bulk import and warns on unresolved or conflicting relationships.

Adds importsources adapters that normalize Azure device-group and Thor PC inventory exports into canonical ShopDB CSVs via hostname alignment, exposes register_import_hook and RowWarning on the shopdb.api contract surface (contract 0.21.0), and refreshes the Import Site Assets page with clearer source instructions. Includes reconcile_locations maintenance script and coverage for the new import paths.
2026-08-25 16:46:00 -04:00
benjamin.baker
f4d8868463 Merge remote-tracking branch 'origin/main' into wilm 2026-08-24 14:52:59 -04:00
benjamin.baker
4a1b97362b Add site asset CSV import with fuzzy reconciliation
Sites seed inventory from the Asset Collector script or spreadsheet exports, but lookup names drift between sources (Dell vs Dell Inc.), which would otherwise create duplicate vendors/models/types on every import. The importer now normalizes and fuzzy-matches near-miss references onto existing lookup rows within an operator-set similarity threshold, auto-applying the match while reporting it for review so nothing merges silently. Operating systems and asset rows are never reconciled. Adds the dedicated Import Site Assets page with script/template download and a multi-file dry-run/commit workflow.
2026-08-24 14:29:02 -04:00
4242028270 Secure send: hand somebody a password without leaving it in a chat window 2026-08-21 13:44:34 -04:00
04107ff8ab Search spelling suggestions across every list 2026-08-21 11:15:06 -04:00
09e9d5f047 Carry the level everywhere a position is drawn, and gate it per occurrence 2026-08-18 09:37:29 -04:00
e67add5fbe Give the map editor's search box room for its own placeholder 2026-08-17 15:26:54 -04:00
3af77bdb5b Make the map editor accept a click, and unclutter its panel 2026-08-17 15:21:34 -04:00
4c3d5746e8 Fix the levels viewer: markers were drawn on whichever plan was showing 2026-08-17 15:01:09 -04:00
ece0e15f03 Page past the 100-row cap in pickers and batch label sheets 2026-08-17 14:17:28 -04:00
fbd99041b0 Buildings and levels for the floor map, and make every identifier searchable 2026-08-17 13:03:54 -04:00
265ca2eb01 Security hardening, multi-site portability, and a documentation and API-surface sweep 2026-08-14 16:28:34 -04:00
5dcc7e30af Display role vocabulary, migration commit fix, stale enforcement reports 2026-08-13 09:30:40 -04:00
4319f6bc8e Application and warranty uploads, toner forecast, fiscal week 2026-08-12 12:07:14 -04:00
d32513727b Tech Tools section with a code generator, toner report that names the part, toner forecasting, warranty proof of cover, application uploads 2026-08-12 11:51:38 -04:00
34cb9a5e3e Dashboard polish 2026-08-11 15:28:29 -04:00
0ed8be75d9 Dashboard cards, backup last-seen 2026-08-11 14:01:57 -04:00
d8178d55c1 warranty machine column with map hover; opaque settings dialogs 2026-08-10 09:51:42 -04:00
d9d08f53ac remote-access protocol collection; dashboard site timezone + badge alignment 2026-08-10 08:36:39 -04:00
4344adabf1 Board row ordering, type-derived row colours, and clearer upcoming events 2026-08-08 14:24:28 -04:00
5a0017cd9a backups plugin with NTLARS revision history; shopfloor dashboard upcoming cards and state chips 2026-08-07 14:30:18 -04:00
344d252264 Paint each board row in its own notification type's colour 2026-08-07 11:06:04 -04:00
7c5b1bc74e Per-type board rows with shared categories, a network device IP field, and two dark-mode dialogs 2026-08-07 10:43:32 -04:00
bcf7a009f8 Revert the 2x2 recertification block 2026-08-07 09:54:16 -04:00
2f15610cfd Per-type expiry tail on the shopfloor board, and a 2x2 recertification block 2026-08-07 09:28:10 -04:00
07d390789a Modal overlay-close removed from data-entry; console menu grouped 2026-08-05 13:49:34 -04:00
9c530a70db Filter pagination reset; catalog model retype tool 2026-08-05 11:26:40 -04:00
c51e86e686 Model photo upload fixes; network devices linked to catalog models 2026-08-05 09:09:19 -04:00
3d43cb3d86 Windows installer: payload hash-locking, SBOM, client-IP handling, operator docs 2026-08-03 15:08:20 -04:00
59578e1c5b map marker legibility, PDF export blueprint fix, asset list type search 2026-07-31 09:06:22 -04:00
a595eaffd5 map: fix subtype filter dropping every measuring tool 2026-07-31 07:59:20 -04:00
ce550aefc6 notifications: timezone fix + configurable site timezone 2026-07-30 15:09:06 -04:00
488fa0e4a7 ui: audit-log column clipping + ge-enforce report modal width 2026-07-29 08:56:16 -04:00
eeae042aa8 slides: grantable slides.manage permission for non-admin curators 2026-07-29 08:41:53 -04:00
02147827f0 display FQDN keying + kiosk dropdown + dispatcher + multi-word search 2026-07-29 07:45:33 -04:00
cf7b8bc49a dashboard employee names + GE monogram fallback + kiosk startup sweep 2026-07-28 18:24:19 -04:00
73b05e5b1c alerts: per-support-team webhook + printedparts routing 2026-07-22 13:32:01 -04:00
e1c7af049c settings UI: site base url + alert webhook fields 2026-07-22 12:55:50 -04:00
844a28111a displays: IP-driven display role (dashboard/lobby/kiosk) 2026-07-21 09:49:14 -04:00
338a028de4 dashboard: Verdana + left-edge type color bar 2026-07-20 16:01:58 -04:00
fd088e1b10 dashboard: fixed recert name height (no grid shift) 2026-07-20 15:40:29 -04:00
a751960c56 dashboard: Archivo display font 2026-07-20 15:19:28 -04:00
9706d3057b dashboard: bigger TV text + footer at bottom 2026-07-20 15:16:27 -04:00
d90be6dcd7 shopfloor dashboard TV fit-to-viewport scaling 2026-07-20 14:49:33 -04:00
cb9ede497d Kiosk entry input, gage lab tag column, model image subpath fix 2026-07-20 11:14:20 -04:00
03c6adc77e Add per-role badge colors 2026-07-20 10:08:14 -04:00
8bde777b70 Lean build: gate Shopfloor Dashboard on notifications plugin 2026-07-19 12:25:10 -04:00
4932b8c6a1 Lean build: gate Displays links by staged route 2026-07-19 12:22:16 -04:00
de93b613cc ADR-013 Phase 4 complete: all plugin frontends self-contained + lint rule 2026-07-19 00:03:33 -04:00