Commit Graph

32 Commits

Author SHA1 Message Date
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
b7f40f5824 Lean build: hide settings cards whose route was not staged 2026-07-19 12:17:51 -04:00
de93b613cc ADR-013 Phase 4 complete: all plugin frontends self-contained + lint rule 2026-07-19 00:03:33 -04:00
d1592b84c7 ADR-013 Phase 4: all 13 plugin frontends relocated + staging machinery 2026-07-18 23:56:32 -04:00
d0c31d1c97 ADR-013 Phase 4: frontend staging + printedparts relocation 2026-07-18 23:43:39 -04:00
a9274d71e8 ADR-013 Phase 4: core-router surgery (plugin top-level routes) 2026-07-18 23:26:39 -04:00
fd2ab0ab1c ADR-013 Phase 3 complete: asset-panels + asset-presentation + map-overlays renderers 2026-07-18 23:10:27 -04:00
c22d3a7c23 ADR-013 Phase 3: asset-panels renderer + full detail-page migration 2026-07-18 22:52:06 -04:00
72e3484497 ADR-013 Phase 3: generic asset-panels renderer (Path A) 2026-07-18 22:44:06 -04:00
365b0f2f69 printedparts: gage-lab asset tag + print-files redesign
The gage lab assigns real WJRP asset numbers: internal itemcode stays
auto-minted, a new optional unique gagelabtag carries the lab's number,
searchable and kiosk-resolved (scans and bare digits against either
identifier). Print files render as stacked revision cards instead of a
scrolling table.
2026-07-17 14:01:10 -04:00
444fcbd8b9 Dark mode: dropdown arrow no longer tiles across selects
The dark form-control override used the background shorthand, which
resets a select's repeat/position; restated as background-color plus
explicit no-repeat/position.
2026-07-17 13:37:25 -04:00
4f77874f10 Floor-map previews honor the mount path
The uploaded-blueprint thumbnails used the raw setting value, which
404s under a subpath mount while the map itself worked. Wrap the
previews in withBase.
2026-07-17 11:43:07 -04:00
c89f4d398b GE monogram avatar fallback + per-page document titles
Users without a profile photo show the GE monogram (sidebar, employee
detail, directory thumbs). Document titles become
'<Facility> ShopDB - <Page>' so copied links and tabs identify the
page.
2026-07-17 11:31:39 -04:00
11c8d79ba4 Add the printedparts plugin: 3D-printed parts storefront and kiosk
Catalog with photos and append-only print-file revisions, a stock
ledger attributing every take/restock/adjust to a badge-resolved
employee, a touch kiosk (scan bin, scan badge, keypad quantity) with a
deliberately open decrement-only take endpoint, 1x0.5in CODE128 bin
labels, low-stock email alerts to selected users, roles, or addresses,
and stock/consumption/by-person reports with a cache-vs-ledger
reconcile. Ships disabled; enable per site. Contract 0.13.0 adds the
mailer and the User/Role models to the plugin surface.
2026-07-17 09:29:01 -04:00
3003c0666c Scope dark-mode form and notification styles to the explicit theme
The form-control and notification-tint blocks applied on the OS
prefers-color-scheme alone, so a machine in OS dark mode leaked dark
widget styling into the app's explicit light theme - dropdown options
rendered near-black on black. Scope the rules to [data-theme=dark].
2026-07-16 15:11:36 -04:00
95cfa9e939 Fix bit(1) import coercion and subpath login redirect
The WJ import loader coerced MySQL bit(1) columns with bool(), which is
always true for the bytes pymysql returns; applications.isinstallable
and notifications.isshopfloor imported as 1 for every row. Route both
through the existing _truthy_bit helper. The loader also no longer
requires the employee source database: without it, notifications keep
the bare SSO and the verify stage skips the employee count.

Under a subpath mount, the session-expiry interceptor stored the
browser path (which includes the mount base) as the login redirect,
and the router applied its base again after login. Add stripBase()
and store base-free router paths; the login page also strips a stale
base from old bookmarked redirects.

Also point the external-plugin CI helper at the repo's GitHub URL.
2026-07-16 14:08:19 -04:00
a9d0dfff4a Initial import: shopdb-flask multi-site asset platform
Flask + Vue rewrite of the classic-ASP shopdb, built as a plugin
framework so sister GE Aerospace sites can adopt it. Product version
0.7.0-pre-0.8.0, plugin contract 0.11.0, 966 backend tests.

Key entry points:
- docs/INSTALL-WINDOWS-IIS.md - tested Windows + IIS install runbook
  (own-site and subpath deployment methods)
- docs/PILOT-DEPLOY.md - production pilot: stand up + import + verify
- docs/IMPORT-API.md - schema-agnostic legacy data import contract
- scripts/site_imports/wjf/ - West Jefferson reference import loader
- docs/adr/ - twelve accepted architecture decision records
2026-07-14 07:58:51 -04:00