Matthias Hochmeister
633a75cb0b
feat(ausruestungsanfrage): add personal item tracking, catalog enforcement, and detail pages
2026-04-14 16:49:20 +02:00
Matthias Hochmeister
25d418539e
fix(migration): make trigger creation idempotent with DROP IF EXISTS
...
Previous failed runs committed the CREATE TABLE/TRIGGER DDL outside a
transaction (pool.query BEGIN/ROLLBACK is not connection-pinned), leaving
the trigger in place. Re-runs then fail with 'already exists'.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 20:15:29 +02:00
Matthias Hochmeister
67adc4f5aa
fix(migration): add required label+sort_order columns to permissions INSERT
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 20:06:06 +02:00
Matthias Hochmeister
bb95a66ffe
fix(migration): fix feature_groups column names (label, sort_order not name/maintenance_mode)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 20:04:10 +02:00
Matthias Hochmeister
1ad328edd3
fix(migration): use correct column name authentik_group in group_permissions seed
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 20:01:20 +02:00
Matthias Hochmeister
1215e9ea70
feat: personal equipment tracking, order assignment, purge fix, widget consolidation
...
- Migration 084: new persoenliche_ausruestung table with catalog link, user
assignment, soft delete; adds zuweisung_typ/ausruestung_id/persoenlich_id
columns to ausruestung_anfrage_positionen; seeds feature group + 5 permissions
- Fix user data purge: table was shop_anfragen, renamed to ausruestung_anfragen
in mig 046 — caused full transaction rollback. Also keep mitglieder_profile
row but NULL FDISK-synced fields (dienstgrad, geburtsdatum, etc.) instead of
deleting the profile
- Personal equipment CRUD: backend service/controller/routes at
/api/persoenliche-ausruestung; frontend page with DataTable, user filter,
catalog Autocomplete, FAB create dialog; widget in Status group; sidebar
entry (Checkroom icon); card in MitgliedDetail Tab 0
- Ausruestungsanfrage item assignment: when a request reaches erledigt,
auto-opens ItemAssignmentDialog listing all delivered positions; each item
can be assigned as general equipment (vehicle/storage), personal item (user,
prefilled with requester), or not tracked; POST /requests/:id/assign backend
- StatCard refactored to use WidgetCard as outer shell for consistent header
styling across all dashboard widget templates
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 19:19:35 +02:00
Matthias Hochmeister
dd5cd71fd1
feat(dashboard,admin): widget group customization and FDISK data purge
2026-04-13 15:06:34 +02:00
Matthias Hochmeister
5acfd7cc4f
feat(buchhaltung): add transfers, bank statements, Haushaltsplan, and PDF export
2026-03-30 17:05:18 +02:00
Matthias Hochmeister
d833b3c224
feat(buchhaltung): recurring job, budget alerts, audit endpoint, konto-typen CRUD
2026-03-30 15:04:06 +02:00
Matthias Hochmeister
b21abce9e3
feat(buchhaltung): budget types, erstattungen, recurring tab move, overview dividers, order completion guard
2026-03-30 14:07:04 +02:00
Matthias Hochmeister
13aa4be599
feat(buchhaltung): add categories, recurring tx scheduling, sub-pot budget validation, and UX polish
2026-03-30 12:56:33 +02:00
Matthias Hochmeister
e4f1d8864a
refactor: change kontonummer to INTEGER, derive sub-account number as parent + suffix (arithmetic)
2026-03-30 11:23:07 +02:00
Matthias Hochmeister
0c5432b50e
feat: add account hierarchy, budget types (GWG/Anlagen/Instandhaltung), and Buchhaltung UI overhaul with collapsible tree, pending badge, and konto detail page
2026-03-30 09:49:28 +02:00
Matthias Hochmeister
18b1300de8
feat: add Buchhaltung module with fiscal years, budget accounts, transactions, and approval workflow
2026-03-28 19:48:32 +01:00
Matthias Hochmeister
4349de9bc9
feat: checklist multi-type assignments, tab layouts for Fahrzeuge/Ausruestung, admin cleanup
...
- Migration 074: convert checklist vorlage single FK fields to junction tables
(vorlage_fahrzeug_typen, vorlage_fahrzeuge, vorlage_ausruestung_typen, vorlage_ausruestungen)
- Backend checklist service: multi-type create/update/query with array fields
- Backend cleanup service: add checklist-history and reset-checklist-history targets
- Frontend types/service: singular FK fields replaced with arrays (fahrzeug_typ_ids, etc.)
- Frontend Checklisten.tsx: multi-select Autocomplete pickers for all assignment types
- Fahrzeuge.tsx/Ausruestung.tsx: add tab layout (Uebersicht + Einstellungen), inline type CRUD
- FahrzeugEinstellungen/AusruestungEinstellungen: replaced with redirects to tab URLs
- Sidebar: add Uebersicht sub-items, update Einstellungen paths to tab URLs
- DataManagementTab: add checklist-history cleanup and reset sections
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-28 18:57:46 +01:00
Matthias Hochmeister
893fbe43a0
feat: add hierarchical subitems to checklist templates and executions
2026-03-28 18:37:36 +01:00
Matthias Hochmeister
0d6d5e4f54
fix: repair checklist create (intervall constraint) and start execution (stuck spinner), add equipment items display
2026-03-28 18:08:06 +01:00
Matthias Hochmeister
6b46e97eb6
feat: vehicle/equipment type system, equipment checklist support, and checklist overview redesign
2026-03-28 17:27:01 +01:00
Matthias Hochmeister
0c2ea829aa
feat: add issue kanban/attachments/deadlines, dashboard widget DnD, and checklisten system
2026-03-28 15:19:41 +01:00
Matthias Hochmeister
29d66e37a1
shared catalog in Bestellungen, catalog picker in line items, Ersatzbeschaffung flag, vendor detail flash fix
2026-03-27 14:50:31 +01:00
Matthias Hochmeister
35b3718e38
catalog search/sort, edit-page characteristics, preferred vendor per article
2026-03-27 13:17:05 +01:00
Matthias Hochmeister
c29b21f714
update
2026-03-26 14:22:35 +01:00
Matthias Hochmeister
21bbe57d6f
calendar and vehicle booking rework
2026-03-25 16:18:40 +01:00
Matthias Hochmeister
74d978171c
calendar and vehicle booking rework
2026-03-25 15:44:11 +01:00
Matthias Hochmeister
5add6590e5
refactor external orders
2026-03-25 14:26:41 +01:00
Matthias Hochmeister
561334791b
rework external order tracking system
2026-03-25 13:24:52 +01:00
Matthias Hochmeister
feb39d234f
rework from modal to page
2026-03-25 10:23:28 +01:00
Matthias Hochmeister
59140939df
fix permissions
2026-03-25 07:48:00 +01:00
Matthias Hochmeister
86cd7b4ce0
fix permissions
2026-03-24 17:59:28 +01:00
Matthias Hochmeister
f228dd67ba
fix permissions
2026-03-24 17:54:36 +01:00
Matthias Hochmeister
e6ddf67d95
fix permissions
2026-03-24 17:20:31 +01:00
Matthias Hochmeister
f9f54b7e07
fix permissions
2026-03-24 17:10:01 +01:00
Matthias Hochmeister
a0d99dce8d
fix permissions
2026-03-24 15:47:57 +01:00
Matthias Hochmeister
f1bd3e162f
rework issue system
2026-03-24 15:32:54 +01:00
Matthias Hochmeister
d8d2730547
rework issue system
2026-03-24 15:30:24 +01:00
Matthias Hochmeister
65994286b2
rework issue system
2026-03-24 14:44:21 +01:00
Matthias Hochmeister
0dd5033664
rework issue system
2026-03-24 14:23:50 +01:00
Matthias Hochmeister
6c7531438e
rework issue system
2026-03-24 14:21:17 +01:00
Matthias Hochmeister
abb337c683
rework internal order system
2026-03-24 14:02:16 +01:00
Matthias Hochmeister
9a52e41372
rework internal order system
2026-03-24 13:28:46 +01:00
Matthias Hochmeister
2b77ae5724
rework internal order system
2026-03-24 10:22:31 +01:00
Matthias Hochmeister
0389c3d2aa
rework internal order system
2026-03-24 09:58:33 +01:00
Matthias Hochmeister
209d5a676e
rework internal order system
2026-03-24 09:35:37 +01:00
Matthias Hochmeister
6ff5cc89ad
rework internal order system
2026-03-24 08:59:46 +01:00
Matthias Hochmeister
3c0a8a6832
rework internal order system
2026-03-24 08:41:24 +01:00
Matthias Hochmeister
f982fbb2b6
rework internal order system
2026-03-24 08:13:43 +01:00
Matthias Hochmeister
99f02b8425
rework internal order system
2026-03-24 08:11:32 +01:00
Matthias Hochmeister
742c37b8de
new features
2026-03-23 18:54:22 +01:00
Matthias Hochmeister
08249f1846
new features
2026-03-23 18:51:44 +01:00
Matthias Hochmeister
a63d78e9d9
new features
2026-03-23 18:49:48 +01:00