Björn Fromme
cef2e4fa49
fix: ensure mutability is accounted for when restoring drafts
...
addresses #869cdzmkq
2026-03-16 12:03:00 +01:00
Björn Fromme
11ff2b9084
fix: assign mandatory services when applying dummy data
2026-03-16 12:03:00 +01:00
Björn Fromme
f673bc59d0
fix: catch unexpected api response for personal data
2026-03-16 12:03:00 +01:00
Björn Fromme
c7b70dbd56
feat: dummy data fill
...
closes #869c3khk0
2026-03-16 12:03:00 +01:00
Björn Fromme
19031dba99
fix: enforce profile completion of applicant in all situations
2026-03-16 12:02:59 +01:00
Björn Fromme
02ebddc34a
feat: require all personal data fields for registration
2026-03-16 12:02:59 +01:00
Björn Fromme
3957f6bd09
feat: tracking integration with GTM and CMP
2026-03-16 12:02:59 +01:00
Björn Fromme
11ab98b3d8
feat: domain-based theme-detection
2026-03-16 12:02:59 +01:00
Björn Fromme
a444940db2
feat: display error codes in admin overview
2026-03-16 12:02:59 +01:00
Björn Fromme
26bbba5a2e
feat: streamlined flash messages
2026-03-16 12:02:59 +01:00
Björn Fromme
c1425f0562
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-03-16 12:02:59 +01:00
Björn Fromme
0cac2969ae
feat: log contact form submissions
2026-03-16 12:02:59 +01:00
Björn Fromme
c582e0820a
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-03-16 12:02:59 +01:00
Björn Fromme
0a0987873f
feat: enforce profile data completeness before entering booking flow
2026-03-16 12:02:59 +01:00
Björn Fromme
957e20d763
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-03-16 12:02:28 +01:00
Björn Fromme
6d418ee8cc
fix: account for discounts applied by bpn api in validation request
2026-03-16 12:02:28 +01:00
Björn Fromme
fba3becb06
feat: always load fresh api data when starting to edit booking
2026-03-16 12:02:28 +01:00
Björn Fromme
384744c958
feat: xlsx export of booking edit draft data for admins
2026-03-16 12:02:28 +01:00
Björn Fromme
136e2d68a2
feat: integrate with easy admin bundle
2026-03-16 12:02:27 +01:00
Björn Fromme
bdcd54687d
feat: streamlined booking number property
2026-03-16 12:02:27 +01:00
Björn Fromme
99190b0ef1
wip: integrate with easy admin bundle
2026-03-16 12:02:27 +01:00
Björn Fromme
30496a4875
feat: cleanup, log successful bookings
2026-03-16 12:02:27 +01:00
Björn Fromme
e09e5858d8
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-03-16 12:02:27 +01:00
Björn Fromme
fedfcc247e
fix: update draft together with session on refresh
2026-03-16 12:02:27 +01:00
Björn Fromme
8186adfaeb
fix: show actual error message
2026-03-16 12:02:27 +01:00
Björn Fromme
8646dfbf02
fix: avoid float rounding errors when comparing
2026-03-16 12:02:27 +01:00
Björn Fromme
7942656026
fix: redirect to dashboard as default when logged in
2026-03-16 12:01:09 +01:00
Björn Fromme
96d4b8ed45
fix: apply correct return type and response handling
2026-03-16 12:01:09 +01:00
Björn Fromme
c18ba3d815
fix: only invalidate cache and remove draft on successful edit
2026-03-16 12:01:09 +01:00
Björn Fromme
fd81079247
chore: code cleanup
2026-03-16 12:01:09 +01:00
Björn Fromme
e5781fbabc
fix: invalidate booking data caches after updating personal data
2026-03-16 12:01:09 +01:00
Björn Fromme
db74b6049c
feat: remove cancel confirmation since obsolete because of drafts
2026-03-16 12:01:09 +01:00
Björn Fromme
0b5c7af4be
feat: automatic saving of drafts when editing bookings
2026-03-16 12:01:09 +01:00
Björn Fromme
02742aef5b
fix: catch travel data not found errors to show proper flash message
2026-03-16 12:01:09 +01:00
Björn Fromme
643f65ce3b
chore: reduce noise in logs
2026-03-16 12:00:56 +01:00
Björn Fromme
465ce3e69a
feat: add logging to api endpoint
2026-03-16 12:00:56 +01:00
Björn Fromme
3c2ade9299
feat: loading indicator on initial page load
2026-03-16 12:00:56 +01:00
Björn Fromme
12b69bd681
feat: load availability data once per booking session
2026-03-16 12:00:56 +01:00
Björn Fromme
80c81c11fb
feat: log pickups planning data api calls
2026-03-16 12:00:56 +01:00
Björn Fromme
65f8436aa7
feat: extended oauth2 user info and refactored authenticator
2026-03-16 12:00:56 +01:00
Björn Fromme
d1e807b11f
feat: adjust oauth2 implementation for TYPO3 backend login
2026-03-16 12:00:56 +01:00
Björn Fromme
ee84690cd9
feat: basic themes for event sites
2026-03-16 12:00:56 +01:00
Björn Fromme
c7a27f1dc7
feat: api endpoints for pickups planning
2026-03-16 12:00:56 +01:00
Björn Fromme
654ae4dc0b
feat: use query parameters for booking urls
2026-03-16 12:00:56 +01:00
Björn Fromme
96619c6cec
fix: reset room assignments after updated selection if required
2026-03-16 12:00:56 +01:00
Björn Fromme
65398d59d4
chore: simplify parameter handling
2026-03-16 12:00:55 +01:00
Björn Fromme
3df9659ce2
feat: configurable choices for body dimensions
...
closes #8697phk21
2026-03-16 12:00:55 +01:00
Björn Fromme
b567b6a840
feat: re-implement contact form submissions api endpoint for website
2026-03-16 12:00:55 +01:00
Björn Fromme
3d1b75b591
fix: ensure flash message is displayed after redirect
2026-03-16 12:00:55 +01:00
Björn Fromme
6bbef0a975
feat: various improvements in styles and layout
2026-03-16 12:00:55 +01:00