Matthias Hochmeister
|
4ec719ad0a
|
feat(persoenliche-ausruestung): add quantity field and article-grouped replacement flow in order dialog
|
2026-04-24 12:36:28 +02:00 |
|
Matthias Hochmeister
|
9410441ce2
|
feat(checklisten): rework checklist scheduling, overview, and execution UI
|
2026-04-20 18:37:00 +02:00 |
|
Matthias Hochmeister
|
c55ec55e1b
|
feat(admin): move integration URLs and credentials to GUI settings
|
2026-04-20 16:29:12 +02:00 |
|
Matthias Hochmeister
|
65820805b0
|
style(frontend): format Lehrgang section in member detail to match other Atemschutz sub-sections
|
2026-04-20 11:53:48 +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
|
8c25cb0d40
|
feat(admin): add reset-atemschutz option to data management tab
|
2026-04-19 17:43:48 +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
|
26df8b427e
|
fix(mitglieder): improve Fahrgenehmigungen labels, pagination, and AT20 sync
|
2026-04-18 18:00:54 +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
|
8e6868eb55
|
fix(permissions): restore sticky left column on permission rows to prevent checkbox overlap
|
2026-04-18 16:32:42 +02:00 |
|
Matthias Hochmeister
|
bef5a685a8
|
fix(permissions): flatten permission matrix table to fix column alignment and scroll lag
|
2026-04-18 16:20:44 +02:00 |
|
Matthias Hochmeister
|
fa9f50d982
|
fix(buchhaltung): show Übersicht tab first and count all booked transactions in budget overview
|
2026-04-18 16:16:50 +02:00 |
|
Matthias Hochmeister
|
219e5f1195
|
feat(geplante-nachrichten): show age in birthday list
|
2026-04-17 14:28:02 +02:00 |
|
Matthias Hochmeister
|
8ee2b9170d
|
fix(geplante-nachrichten): resolve {{date_range}} template variable in content builders
|
2026-04-17 14:24:47 +02:00 |
|
Matthias Hochmeister
|
968b24156b
|
fix(geplante-nachrichten): fix wrong column refs in content builders — abgesagt bool, join users for names, correct status values
|
2026-04-17 14:15:34 +02:00 |
|
Matthias Hochmeister
|
d44f53a8a9
|
fix(geplante-nachrichten): cache rooms response 60s and pass Nextcloud errors through to frontend
|
2026-04-17 13:33:07 +02:00 |
|
Matthias Hochmeister
|
53c8be0f6d
|
add clear error message for bot api
|
2026-04-17 13:29:09 +02:00 |
|
Matthias Hochmeister
|
72b575478b
|
add error handling for bad credentials
|
2026-04-17 13:24:40 +02:00 |
|
Matthias Hochmeister
|
e4c37ba219
|
fix(ausruestungsanfrage): correct API paths, assignment navigation, and pre-fill user on Zuweisung page
|
2026-04-17 13:07:15 +02:00 |
|
Matthias Hochmeister
|
68e4ed265f
|
fix(geplante-nachrichten): use getAllConversations in getRooms to return full room list instead of top 3
|
2026-04-17 12:47:13 +02:00 |
|
Matthias Hochmeister
|
169d045e4c
|
feat(ausruestungsanfrage): show vendor order status and delivery progress in request detail
|
2026-04-17 12:39:40 +02:00 |
|
Matthias Hochmeister
|
d8afcc1f63
|
fix(geplante-nachrichten): add /api prefix to all API paths, fix subscribe room token, unmask empty bot credentials, add Einzelnachrichten tab
|
2026-04-17 12:33:48 +02:00 |
|
Matthias Hochmeister
|
fcca04cc39
|
fix(bestellungen): automate delivery status transitions, enable received-qty input for creators, and add im_haus tracking to positionen
|
2026-04-17 11:42:12 +02:00 |
|
Matthias Hochmeister
|
7d2ea57c17
|
fix(frontend): order status button colors, delivery gate logic, partial delivery chips, and scheduled message form tweaks
|
2026-04-17 10:50:42 +02:00 |
|
Matthias Hochmeister
|
b91cf88812
|
add: add feature to schedule messages
|
2026-04-17 10:41:00 +02:00 |
|
Matthias Hochmeister
|
5811ac201e
|
fix(geplante-nachrichten): distinguish unconfigured bot from unreachable Nextcloud in room picker
|
2026-04-17 09:47:31 +02:00 |
|
Matthias Hochmeister
|
510b44e48c
|
fix(tool-config): merge partial updates instead of replacing, mask bot_app_password
|
2026-04-17 09:30:13 +02:00 |
|
Matthias Hochmeister
|
7532a19326
|
fix(geplante-nachrichten): read bot credentials from tool_config_nextcloud, add manual trigger endpoint
|
2026-04-17 09:20:18 +02:00 |
|
Matthias Hochmeister
|
8a0c4200ff
|
feat(geplante-nachrichten): scheduled message rule engine with bot delivery, admin UI, and manual trigger
|
2026-04-17 09:10:57 +02:00 |
|
Matthias Hochmeister
|
6614fbaa68
|
feat(admin): centralize tool & module settings in Werkzeuge tab with per-tool permissions, DB-backed config, connection tests, and cog-button navigation
|
2026-04-17 08:37:29 +02:00 |
|
Matthias Hochmeister
|
6ead698294
|
refactor(sidebar): remove all dropdown sub-menus, flatten navigation to direct links
|
2026-04-16 16:25:06 +02:00 |
|
Matthias Hochmeister
|
1c071c7768
|
update docker version
|
2026-04-16 16:18:03 +02:00 |
|
Matthias Hochmeister
|
dfcdd44aa4
|
refactor(admin): consolidate 10 flat tabs into 4 grouped tabs with sub-tabs, remove Bestellungen tab, replace Debug with FDISK Sync
|
2026-04-16 16:14:25 +02:00 |
|
Matthias Hochmeister
|
e56075f38a
|
fix(issues): allow priority+status change for assignees, dynamic owner transitions, kanban droppable columns; feat(persoenliche-ausruestung): configurable zustand
|
2026-04-16 14:08:05 +02:00 |
|
Matthias Hochmeister
|
2fe0db6d9a
|
fix(persoenliche-ausruestung): wait for permissions before fetching overview to show all items
|
2026-04-16 09:17:36 +02:00 |
|
Matthias Hochmeister
|
a6aeab80d4
|
feat(persoenliche-ausruestung): show catalog category, remove size/date columns, make zustand admin-configurable
|
2026-04-16 08:22:01 +02:00 |
|
Matthias Hochmeister
|
058ee721e8
|
feat(persoenliche-ausruestung): show catalog category, remove size/date columns, make zustand admin-configurable
|
2026-04-16 08:19:38 +02:00 |
|
Matthias Hochmeister
|
dac0b79b3b
|
eat(ausruestung): allow create role to view full list, add Mitglieder pagination, add admin reset for persoenliche Ausruestung
|
2026-04-16 07:52:36 +02:00 |
|
Matthias Hochmeister
|
3f8c4d151d
|
fix(persoenliche-ausruestung): save characteristics on create/edit and add editable eigenschaft fields to assignment page
|
2026-04-15 20:06:02 +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 |
|