Commit Graph
138 Commits
Author SHA1 Message Date
Björn Fromme 2776429639 fix: preserve selected services from booking even when unavailable
When editing a booking, services that were previously booked but are no
longer available in the travel catalog were being dropped. This caused
API error 650 ("Anzahl Leistung stimmt nicht mit Teilnehmerzuordnung
überein") because the service participant counts no longer matched.

The fix ensures that in edit mode, booked services are merged with
travel data services in both:
- Form rendering (ParticipantFieldOptionsProvider): so checkboxes appear
- Handler validation (AbstractParticipantFieldHandler): so selections
  are accepted

This allows users to keep their existing service selections or
deliberately replace them with other available options. Create mode
remains unchanged.
2026-01-19 15:51:39 +01:00
Björn Fromme 3046aad94d fix: account for discounts applied by bpn api in validation request 2026-01-14 12:47:25 +01:00
Björn Fromme 00803b2e73 feat: always load fresh api data when starting to edit booking 2026-01-13 13:16:35 +01:00
Björn Fromme 3d4d88e986 feat: xlsx export of booking edit draft data for admins 2026-01-13 10:22:03 +01:00
Björn Fromme 195af95995 feat: integrate with easy admin bundle 2026-01-11 13:24:07 +01:00
Björn Fromme d95d0a8930 feat: streamlined booking number property 2026-01-10 12:12:54 +01:00
Björn Fromme 6fca40963d wip: integrate with easy admin bundle 2026-01-10 11:35:16 +01:00
Björn Fromme fe2268c897 feat: cleanup, log successful bookings 2026-01-09 10:05:21 +01:00
Björn Fromme 0992c05539 fix: don't update booking session and draft on form refresh
Each form refresh would create a draft even for users that just explore
booking options causing stale draft records in the database.
2026-01-09 09:22:18 +01:00
Björn Fromme 59b08ed098 fix: update draft together with session on refresh 2026-01-08 08:38:21 +01:00
Björn Fromme 936004bc2d fix: show actual error message 2026-01-07 20:30:58 +01:00
Björn Fromme 2f4184f60f fix: avoid float rounding errors when comparing 2026-01-07 18:46:28 +01:00
Björn Fromme 5f33f82b8b fix: redirect to dashboard as default when logged in 2026-01-07 10:15:27 +01:00
Björn Fromme 1c1766bbd4 fix: apply correct return type and response handling 2026-01-06 14:05:51 +01:00
Björn Fromme 96205c14db fix: only invalidate cache and remove draft on successful edit 2026-01-06 13:53:49 +01:00
Björn Fromme 7ec4562064 chore: code cleanup 2026-01-06 12:38:51 +01:00
Björn Fromme 1eb1e9f02f fix: invalidate booking data caches after updating personal data 2026-01-06 12:24:07 +01:00
Björn Fromme 2a13a62291 feat: remove cancel confirmation since obsolete because of drafts 2026-01-06 10:44:30 +01:00
Björn Fromme 60c1459902 feat: automatic saving of drafts when editing bookings 2026-01-06 10:29:17 +01:00
Björn Fromme c9426eff3b fix: catch travel data not found errors to show proper flash message 2025-12-19 17:54:25 +01:00
Björn Fromme 5831294d33 chore: reduce noise in logs 2025-12-17 16:44:11 +01:00
Björn Fromme 073bbdc0f8 feat: add logging to api endpoint 2025-12-17 16:34:57 +01:00
Björn Fromme 59b9a42009 feat: loading indicator on initial page load 2025-12-16 13:44:25 +01:00
Björn Fromme 14fe9bd44f feat: load availability data once per booking session 2025-12-16 13:30:45 +01:00
Björn Fromme 8904e1c7fe feat: log pickups planning data api calls 2025-12-16 12:17:41 +01:00
Björn Fromme 42f17db542 feat: extended oauth2 user info and refactored authenticator 2025-12-12 19:57:34 +01:00
Björn Fromme 79e5a3c12d feat: adjust oauth2 implementation for TYPO3 backend login 2025-12-12 16:31:32 +01:00
Björn Fromme e9c1dd8b9d feat: basic themes for event sites 2025-12-12 13:13:36 +01:00
Björn Fromme b1ff6989ec feat: api endpoints for pickups planning 2025-12-12 09:44:38 +01:00
Björn Fromme 05c769bab2 feat: use query parameters for booking urls 2025-12-11 16:14:31 +01:00
Björn Fromme f54f66cd32 fix: reset room assignments after updated selection if required 2025-12-11 11:27:48 +01:00
Björn Fromme 109f36e7f5 chore: simplify parameter handling 2025-12-10 13:57:48 +01:00
Björn Fromme 0e9c5e6e1a feat: configurable choices for body dimensions
closes #8697phk21
2025-12-10 13:48:47 +01:00
Björn Fromme 2b8046b416 feat: re-implement contact form submissions api endpoint for website 2025-12-10 09:29:19 +01:00
Björn Fromme 150998e120 fix: ensure flash message is displayed after redirect 2025-12-09 12:55:23 +01:00
Björn Fromme 3527be9c29 feat: various improvements in styles and layout 2025-12-09 11:20:43 +01:00
Björn Fromme e4aad8a456 feat: load cms data early to display image on login page 2025-12-08 17:39:29 +01:00
Björn Fromme cd2765bab5 feat: improved error handling and redirect on invalid session 2025-12-08 16:00:02 +01:00
Björn Fromme 390ee81675 feat: indicate incomplete participant data in cards 2025-12-08 15:59:35 +01:00
Björn Fromme 118f86b2a0 feat: increase availability cache ttl and ensure fresh data when entering form 2025-12-08 14:57:12 +01:00
Björn Fromme 20a67e9b96 feat: optional return url 2025-12-07 18:47:18 +01:00
Björn Fromme 67491a7f68 fix: remove obsolete htmx attributes from forms 2025-12-07 15:03:44 +01:00
Björn Fromme 21600dc2d6 feat: implement hx-boost for reliable loading indication 2025-12-07 14:11:50 +01:00
Björn Fromme bfb1a04ea0 feat: implement screendesign 2025-12-06 15:02:33 +01:00
Björn Fromme 696800aafd feat: refactoring and cleanup 2025-12-06 15:02:13 +01:00
Björn Fromme f4691ec67e feat: finalize voucher handling and discount display in summary and overview 2025-11-26 17:29:15 +01:00
Björn Fromme 9167c84b4c fix: clear target path when canceling booking flow 2025-11-25 17:34:10 +01:00
Björn Fromme ecc4741f56 feat: correct determination of inquiry status and conditional voucher field display 2025-11-25 16:41:25 +01:00
Björn Fromme f33e55f201 feat: correct handling of vouchers 2025-11-24 10:20:21 +01:00
Björn Fromme 9d28d2f102 feat: improved promotional and purchase vouchers 2025-11-21 12:43:51 +01:00