Commit Graph

88 Commits

Author SHA1 Message Date
Matthias Hochmeister
8d03c13bee update 2026-03-14 14:10:05 +01:00
Matthias Hochmeister
ef9d2ff4a2 update 2026-03-13 21:49:42 +01:00
Matthias Hochmeister
bc6d09200a update 2026-03-13 19:23:39 +01:00
Matthias Hochmeister
75c919c063 update 2026-03-13 15:42:15 +01:00
Matthias Hochmeister
7215e7f472 update 2026-03-13 14:01:06 +01:00
Matthias Hochmeister
e26d77ef35 update nextcloud for file support 2026-03-13 13:46:08 +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
34ca007f9b resolve issues with new features 2026-03-12 17:20:32 +01:00
Matthias Hochmeister
68586b01dc resolve issues with new features 2026-03-12 16:42:21 +01:00
Matthias Hochmeister
5aa309b97a resolve issues with new features 2026-03-12 16:05:01 +01:00
Matthias Hochmeister
a5cd78f01f feat: bug fixes, layout improvements, and new features
Bug fixes:
- Remove non-existent `role` column from admin users SQL query (A1)
- Fix Nextcloud Talk chat API path v4 → v1 for messages/send/read (A2)
- Fix ServiceModeTab sync: useState → useEffect to reflect DB state (A3)
- Guard BookStack book_slug with book_id fallback to avoid broken URLs (A4)

Layout & UI:
- Chat panel: sticky full-height positioning, main content scrolls independently (B1)
- Vehicle booking datetime inputs: explicit text color for dark mode (B2)
- AnnouncementBanner moved into grid with full-width span (B3)

Features:
- Per-user widget visibility preferences stored in users.preferences JSONB (C1)
- Link collections: grouped external links in admin UI and dashboard widget (C2)
- Admin ping history: migration 026, checked_at timestamps, expandable history rows (C4)
- Service mode end date picker with scheduled deactivation display (C5)
- Vikunja startup config logging and configured:false warnings (C7)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 14:57:54 +01:00
Matthias Hochmeister
21b7be22db feat: service mode (maintenance mode)
Admins can toggle maintenance mode from the admin dashboard (new
"Wartung" tab). When active, all non-admin users see a full-page
maintenance screen instead of the app.

- Backend: GET /api/config/service-mode endpoint (authenticated)
- Backend: stores state in app_settings key 'service_mode'
- Frontend: ServiceModeGuard wraps all ProtectedRoutes
- Frontend: ServiceModePage full-screen maintenance UI
- Frontend: ServiceModeTab in admin dashboard with toggle + message
- Admins (dashboard_admin group) always bypass the guard

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 13:21:49 +01:00
Matthias Hochmeister
cd68bd3795 annoucement banners, calendar pdf export, vehicle booking quck-add, even quick-add 2026-03-12 11:47:08 +01:00
Matthias Hochmeister
71a04aee89 resolve issues with new features 2026-03-12 11:37:25 +01:00
Matthias Hochmeister
31f1414e06 adding chat features, admin features and bug fixes 2026-03-12 08:16:34 +01:00
Matthias Hochmeister
3c9b7d3446 apply security audit 2026-03-11 13:51:01 +01:00
Matthias Hochmeister
e9463c1c66 add vikunja integration 2026-03-05 18:07:18 +01:00
Matthias Hochmeister
d3561c1109 new features, bookstack 2026-03-03 21:30:38 +01:00
Matthias Hochmeister
5a6fc85a75 add features 2026-03-03 17:01:53 +01:00
Matthias Hochmeister
5dfaf7db54 bug fixes 2026-03-03 14:45:46 +01:00
Matthias Hochmeister
d91f757f34 bug fixes 2026-03-03 11:45:08 +01:00
Matthias Hochmeister
2306741c4d feat: dashboard widgets, auth fix, profile names, dynamic groups
- Add VehicleDashboardCard: self-contained widget modelled after
  AtemschutzDashboardCard, shows einsatzbereit ratio and inspection
  warnings inline; replaces StatsCard + InspectionAlerts in Dashboard

- Add EquipmentDashboardCard: consolidated equipment status widget
  showing only aggregated counts (no per-item listing); replaces
  EquipmentAlerts component in Dashboard

- Fix auth race condition: add authInitialized flag to api.ts so 401
  responses during initial token validation no longer trigger a
  spurious redirect to /login; save intended destination before login
  redirect and restore it after successful auth callback

- Fix profile firstname/lastname: add extractNames() helper to
  auth.controller.ts that falls back to splitting userinfo.name when
  Authentik does not provide separate given_name/family_name fields;
  applied on both create and update paths

- Dynamic groups endpoint: replace hardcoded KNOWN_GROUPS array in
  events.controller.ts with a DB query (SELECT DISTINCT unnest
  (authentik_groups) FROM users); known slugs get German labels via
  lookup map, unknown slugs are humanized automatically

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 10:28:31 +01:00
Matthias Hochmeister
146f79cf00 featuer change for calendar 2026-03-03 08:57:32 +01:00
Matthias Hochmeister
ad069fde10 calendar: add category-group links, fix iCal share URL, remove legend
- Link categories to user groups via new zielgruppen column on
  veranstaltung_kategorien (migration 017), editable in the category
  management UI with group checkboxes and chip display
- Fix broken iCal share link by adding ICAL_BASE_URL to docker-compose
  and falling back to CORS_ORIGIN when ICAL_BASE_URL is unset
- Remove the colored-dot legend footer from the month calendar view

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:10:33 +01:00
Matthias Hochmeister
9a6b9511c8 featuer change for calendar 2026-03-02 17:26:01 +01:00
Matthias Hochmeister
6495ca94d1 bug fix for atemschutz 2026-03-01 19:19:12 +01:00
Matthias Hochmeister
5b8f40ab9a add now features 2026-03-01 14:41:45 +01:00
Matthias Hochmeister
681acd8203 add now features 2026-03-01 11:50:27 +01:00
Matthias Hochmeister
4476ca82de fix login error 2026-02-28 17:35:57 +01:00
Matthias Hochmeister
e2be29c712 refine vehicle freatures 2026-02-28 17:19:18 +01:00
Matthias Hochmeister
b7b883649c rework vehicle handling 2026-02-28 14:13:56 +01:00
Matthias Hochmeister
1e478479be rework vehicle handling 2026-02-28 13:57:41 +01:00
Matthias Hochmeister
41fc41bee4 rework vehicle handling 2026-02-28 13:34:16 +01:00
Matthias Hochmeister
dbe4f52871 featur add fahrmeister 2026-02-27 21:46:50 +01:00
Matthias Hochmeister
620bacc6b5 add features 2026-02-27 19:50:14 +01:00
Matthias Hochmeister
44e22a9fc6 fix authentication 2026-02-27 19:05:18 +01:00
Matthias Hochmeister
f09748f4a1 inital 2026-02-23 17:08:58 +01:00