Björn Fromme
03cb74370b
fix: enforce submit-time immutability, scope booking cache per user
2026-03-16 11:20:05 +01:00
Björn Fromme
efff024196
fix: ensure mutability is accounted for when restoring drafts
...
addresses #869cdzmkq
2026-03-16 11:20:05 +01:00
Björn Fromme
021671a45f
fix: assign mandatory services when applying dummy data
2026-03-07 12:46:56 +01:00
Björn Fromme
a22688c87e
fix: catch unexpected api response for personal data
2026-02-15 12:57:03 +01:00
Björn Fromme
abeb91b59f
feat: dummy data fill
...
closes #869c3khk0
2026-02-14 15:56:56 +01:00
Björn Fromme
40da2ecaf3
fix: enforce profile completion of applicant in all situations
2026-01-29 16:24:27 +01:00
Björn Fromme
dc91660488
feat: require all personal data fields for registration
2026-01-27 18:25:38 +01:00
Björn Fromme
e9548d9f38
feat: tracking integration with GTM and CMP
2026-01-27 17:31:41 +01:00
Björn Fromme
d5944bf717
feat: domain-based theme-detection
2026-01-27 11:18:37 +01:00
Björn Fromme
e8df7d193e
feat: display error codes in admin overview
2026-01-23 11:15:46 +01:00
Björn Fromme
8dec0be375
feat: streamlined flash messages
2026-01-23 10:15:44 +01:00
Björn Fromme
2aeed762fd
feat: extensible participant status determination for booking creation
...
Adds a rule-based system to determine participant status in CREATE
payloads. Participants selecting a 'Begleitperson' service now receive
status 'O' (Option), all others default to 'F' (Final).
- Add ParticipantStatusRuleInterface for defining status rules
- Add ParticipantStatusRuleRegistry for priority-based rule evaluation
- Add ChaperonServiceStatusRule for Begleitperson detection
- Integrate status evaluation into BookingPayloadBuilder
2026-01-21 10:16:57 +01:00
Björn Fromme
548b8a8ef0
feat: log contact form submissions
2026-01-21 08:43:28 +01:00
Björn Fromme
a097159897
feat: move profile completeness check from login to booking flow entry
...
- Add profileComplete flag to User entity to avoid API calls
- Set flag during login (BpnAuthenticator) and profile save
- Check flag in IndexController when entering booking flow
- Remove ProfileCompletionSubscriber (no longer needed)
Users with incomplete profiles are only redirected when starting
a new booking, not on every login. Eliminates extra API call by
caching completeness status on the user entity.
2026-01-19 18:55:55 +01:00
Björn Fromme
0b44394b11
feat: enforce profile data completeness before entering booking flow
2026-01-19 18:04:19 +01:00
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