Matthias Hochmeister
c55ec55e1b
feat(admin): move integration URLs and credentials to GUI settings
2026-04-20 16:29:12 +02:00
Matthias Hochmeister
99792d93dd
fix(sync): calculate G26 gueltig_bis (default 5y, override via Anmerkungen) and load all Untersuchungen via URL param
2026-04-20 11:18:18 +02:00
Matthias Hochmeister
752dfe474c
change dat format in member overview, sync exams to atemschutz tool, rework member detail page
2026-04-20 10:32:20 +02:00
Matthias Hochmeister
d5291360c9
fix(sync): use frequency-based date column detection for Untersuchungen to find all exam rows
2026-04-20 08:04:44 +02:00
Matthias Hochmeister
84254a0b71
fix(sync): use native form submit for Untersuchungen pagination instead of ViewState URL hack
2026-04-19 19:45:12 +02:00
Matthias Hochmeister
3b4a14661c
fix(sync): use ViewState extraction for Untersuchungen pagination instead of form submit
2026-04-19 19:37:17 +02:00
Matthias Hochmeister
b401b75b9a
fix(sync): await Untersuchungen form navigation to prevent Fahrgenehmigungen page abort
2026-04-19 19:33:51 +02:00
Matthias Hochmeister
d796fae978
feat(sync): fix exam sync pagination, add AGL/AT20-Theorie lehrgang variants with yellow checkmark
2026-04-19 19:28:22 +02:00
Matthias Hochmeister
ed3ee143dd
fix(sync): load all Untersuchungen via URL param, accept AT20 "mit ausgezeichnetem Erfolg" for atemschutz lehrgang
2026-04-19 17:47:59 +02:00
Matthias Hochmeister
3f92156115
fix(sync): fix Untersuchungen column parsing, sync exams to atemschutz profile, handle legacy shifted data
2026-04-19 17:26:37 +02:00
Matthias Hochmeister
54a110d17b
fix(sync): fix Untersuchungen column parsing and sync Leistungstest/Atemschutztauglichkeit dates to atemschutz profile
2026-04-19 17:08:29 +02:00
Matthias Hochmeister
0a5402a9e5
feat(admin): add system logs viewer, tabbed data management, fix AT20 sync
2026-04-18 18:31:22 +02:00
Matthias Hochmeister
0a6377a64f
fix(sync): remove debug file writing and optimize DB queries
2026-04-18 18:15:40 +02:00
Matthias Hochmeister
e1c7f44e56
fix(sync): switch FDISK course scraper from Ausbildungen to Kurse page
2026-04-18 16:46:35 +02:00
Matthias Hochmeister
1c071c7768
update docker version
2026-04-16 16:18:03 +02:00
Matthias Hochmeister
260b71baf8
refactor(mitglieder): replace legacy status values (passiv/anwärter/ausgetreten/…) with aktiv/kind/jugend/reserve across backend, frontend, and sync
2026-04-15 19:43:18 +02:00
Matthias Hochmeister
c1de8bd163
fix(dienstgrad): add ASB→Abschnittssachbearbeiter, remove non-existent ranks (FA/FF/BOI/BAM variants), sync DB constraint, TS types, and display map
2026-04-15 19:26:21 +02:00
Matthias Hochmeister
9586822a32
fix(sync): scrape AusbildungenListEdit instead of KursteilnehmerListEdit, add selectAlleAnzeige, fix column detection; handle Sachbearbeiter dienstgrad and ignore placeholder handles
2026-04-15 17:40:08 +02:00
Matthias Hochmeister
55b2fc1cf4
fix(sync): switch to full member list scrape so all FDISK members are synced, not just known accounts
2026-04-15 14:44:39 +02:00
Matthias Hochmeister
719b7bfcdb
feat(sync): sync all FDISK members, auto-creating dashboard accounts for users not yet logged in
2026-04-15 14:36:57 +02:00
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