Commit Graph

20 Commits

Author SHA1 Message Date
Matthias Hochmeister
4fbea8af81 feat: widget icons, dark theme tables, breadcrumb removal, bookkeeping rework, personal equipment pages, PDF/order improvements 2026-04-14 10:35:40 +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
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
90f691d607 add linking between internal and external orders 2026-03-27 11:18:06 +01:00
Matthias Hochmeister
feb39d234f rework from modal to page 2026-03-25 10:23:28 +01:00
Matthias Hochmeister
abb337c683 rework internal order system 2026-03-24 14:02:16 +01:00
Matthias Hochmeister
90944ca5f6 rework internal order system 2026-03-24 13:42:04 +01:00
Matthias Hochmeister
64663c0fe4 rework internal order system 2026-03-24 13:35:33 +01:00
Matthias Hochmeister
9a52e41372 rework internal order system 2026-03-24 13:28:46 +01:00
Matthias Hochmeister
343cd7aee2 rework internal order system 2026-03-24 10:33:39 +01:00
Matthias Hochmeister
2b77ae5724 rework internal order system 2026-03-24 10:22:31 +01:00
Matthias Hochmeister
3ce8adfa07 rework internal order system 2026-03-24 10:07:35 +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
39b8b30ca2 rework internal order system 2026-03-24 09:15:57 +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
99f02b8425 rework internal order system 2026-03-24 08:11:32 +01:00
Matthias Hochmeister
1b13e4f89e new features 2026-03-23 18:43:30 +01:00