Commit Graph
10 Commits
Author SHA1 Message Date
Björn Fromme 3da73d626b chore: major code cleanup and type safety using phpstan 2026-04-16 17:11:16 +02:00
Björn Fromme 40c0042158 feat: use normalized checkbox values in field handlers 2026-03-16 12:03:00 +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 36ef54d541 chore: cleanup 2026-03-16 11:59:12 +01:00
Björn Fromme 8c8aae9a1e feat: refactoring and cleanup 2026-03-16 11:59:12 +01:00
Björn Fromme 7aea149b6c feat: unique email addresses of participants unless child, cleanup
addresses #869axbn21
2026-03-16 11:59:11 +01:00
Björn Fromme de8cbf6178 wip: refactor to cards with individual participant forms 2026-03-16 11:59:10 +01:00
Björn Fromme 28831a3b06 wip: modernized edit flow 2026-03-16 11:59:10 +01:00
Björn Fromme 0f7d95d31b wip: additional services with constraints 2026-03-16 11:59:09 +01:00
Björn Fromme 11825191cf wip: major refactoring 2026-03-16 11:59:09 +01:00