Commit Graph

50 Commits

Author SHA1 Message Date
Matthias Hochmeister
50dbf6e9fd fix(multi): FDISK sync, order UX, Ausbildungen display, untracked items
FDISK sync:
- fix(sync): strip 'KFZ-Führerschein / ' prefix from license class select option text before whitelist validation
- fix(sync): fix navigateAndGetTableRows to pick date column with most matches (prevents sidebar tables from hijacking dateColIdx for Beförderungen)
- fix(sync): input.value fallback now falls through to textContent when value is empty
- feat(sync): expand Ausbildungen to capture Kursnummer, Kurz, Kurs (full name), Erfolgscode from FDISK table; add migration 086

External orders (Bestellungen):
- fix(bestellungen): allow erhalten_menge editing in lieferung_pruefen status (resolves deadlock preventing order completion)
- fix(bestellungen): show cost/received warnings for bestellt/teillieferung/lieferung_pruefen, not just when abgeschlossen is next
- feat(bestellungen): rename status labels to Eingereicht, Genehmigt, Teilweise geliefert, Vollständig geliefert
- fix(bestellungen): remove duplicate Bestelldatum from PDF export
- feat(bestellungen): add catalog item autocomplete to creation form (auto-fills bezeichnung + artikelnummer)

Internal orders (Ausruestungsanfrage):
- fix(ausruestung): untracked items with zuweisung_typ='keine' now appear in Nicht-zugewiesen tab (frontend filter was too strict)
- feat(ausruestung): load user-specific personal items when ordering for another user
- feat(ausruestung): auto-set ist_ersatz=true for items from personal equipment list; add toggle for catalog/free-text items
- feat(ausruestung): load item eigenschaften when personal item with artikel_id is checked

Ausbildungen display:
- feat(mitglieder): show kursname (full), kurs_kurzbezeichnung chip, erfolgscode chip (color-coded) per Ausbildung entry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 13:22:04 +02:00
Matthias Hochmeister
bfcf1556da new features 2026-03-23 15:07:17 +01:00
Matthias Hochmeister
3326156b15 new features 2026-03-23 14:01:39 +01:00
Matthias Hochmeister
177dd1395b update 2026-03-16 16:19:07 +01:00
Matthias Hochmeister
665eca24af update 2026-03-16 16:18:02 +01:00
Matthias Hochmeister
75cf07f402 update 2026-03-16 16:14:25 +01:00
Matthias Hochmeister
57ab1e8b25 update 2026-03-16 16:05:02 +01:00
Matthias Hochmeister
d276e45248 update 2026-03-16 16:04:05 +01:00
Matthias Hochmeister
9d1c796d1a update 2026-03-16 16:02:57 +01:00
Matthias Hochmeister
43e5f907d5 update 2026-03-16 16:01:30 +01:00
Matthias Hochmeister
023bd7acbb update 2026-03-16 15:17:28 +01:00
Matthias Hochmeister
5f329bb5c1 update 2026-03-16 12:11:32 +01:00
Matthias Hochmeister
8d03c13bee update 2026-03-14 14:10:05 +01:00
Matthias Hochmeister
992ca8e104 update 2026-03-14 13:54:49 +01:00
Matthias Hochmeister
cf6b3ad2d6 update 2026-03-14 13:45:53 +01:00
Matthias Hochmeister
e666ff434e update 2026-03-13 21:44:54 +01:00
Matthias Hochmeister
3171fe1ce5 update 2026-03-13 21:41:25 +01:00
Matthias Hochmeister
8941dc7e09 update 2026-03-13 21:35:12 +01:00
Matthias Hochmeister
7245cd577e update 2026-03-13 21:33:18 +01:00
Matthias Hochmeister
b3266afbf8 update 2026-03-13 21:27:07 +01:00
Matthias Hochmeister
0d4e7b480d update 2026-03-13 21:16:44 +01:00
Matthias Hochmeister
461d28fa0d update 2026-03-13 21:04:53 +01:00
Matthias Hochmeister
b7b4fe2fc9 update 2026-03-13 21:01:54 +01:00
Matthias Hochmeister
ab29c43735 update 2026-03-13 20:28:05 +01:00
Matthias Hochmeister
f009694da7 update 2026-03-13 20:26:33 +01:00
Matthias Hochmeister
8f454905b9 update 2026-03-13 20:12:54 +01:00
Matthias Hochmeister
f5d1f7b061 update 2026-03-13 20:02:46 +01:00
Matthias Hochmeister
1b1a53cd8f update 2026-03-13 19:47:07 +01:00
Matthias Hochmeister
37c719e983 update 2026-03-13 19:42:01 +01:00
Matthias Hochmeister
c174edbb0b update 2026-03-13 19:35:25 +01:00
Matthias Hochmeister
e1aa8fa59b update 2026-03-13 19:29:56 +01:00
Matthias Hochmeister
bc6d09200a update 2026-03-13 19:23:39 +01:00
Matthias Hochmeister
02d9d808b2 update 2026-03-13 16:12:11 +01:00
Matthias Hochmeister
bb6438a0b9 update 2026-03-13 15:59:21 +01:00
Matthias Hochmeister
4c7c8f72d3 update 2026-03-13 14:23:40 +01:00
Matthias Hochmeister
3ecae37d72 update 2026-03-13 14:13:39 +01:00
Matthias Hochmeister
7215e7f472 update 2026-03-13 14:01:06 +01:00
Matthias Hochmeister
e36de3199a update 2026-03-13 13:29:21 +01:00
Matthias Hochmeister
1d5122a2cd update 2026-03-13 13:25:43 +01:00
Matthias Hochmeister
86bb8a45c1 update 2026-03-13 13:21:19 +01:00
Matthias Hochmeister
072713ca3d update 2026-03-13 13:16:14 +01:00
Matthias Hochmeister
9d68b4fb28 update 2026-03-13 13:12:08 +01:00
Matthias Hochmeister
cfb70e62c7 update 2026-03-13 13:06:27 +01:00
Matthias Hochmeister
618f1d4996 update sync 2026-03-13 12:54:48 +01:00
Matthias Hochmeister
3c9ab02b93 update sync 2026-03-13 12:28:01 +01:00
Matthias Hochmeister
e49b4f63ae update nextcloud handling 2026-03-13 12:24:14 +01:00
Matthias Hochmeister
11fb533ad6 update FDISK sync 2026-03-13 10:27:57 +01:00
Matthias Hochmeister
501b697ca2 update FDISK sync 2026-03-13 08:46:12 +01:00
Matthias Hochmeister
02797554aa fix: commit pre-compiled dist and simplify sync Dockerfile
Server npm proxy silently drops devDependencies, making TypeScript
unavailable in Docker. Solution: compile locally and commit dist/.
Dockerfile now only needs prod deps + Playwright, both of which
install cleanly via the public registry.

Also fix TS2688/TS2304 errors: add DOM to tsconfig lib and cast
querySelectorAll results to Element inside $$eval callbacks.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 13:51:48 +01:00
Matthias Hochmeister
681acd8203 add now features 2026-03-01 11:50:27 +01:00