- Move 29 display-only event fields (subtitles, audience, tags, prices,
price types, organizer) from columns into the jsonData storage; fields
used for filtering, joins and calculations stay real columns
- Add EventFieldsToVirtualMigration, which copies the values and drops
the columns on contao:migrate
- Read and write the fields in the import, the preview and the booking
through EventRowCodec; other bundles' keys in the storage are kept
- Validate prices in a save callback instead of the percent check that
rejected every price above 100; accept a decimal comma
- Do not report events as changed after a backend save: ignore the
spelling of HTML entities in teaser and topics and the order of the
speakers
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Adds wk-sync:purge to remove old files under var/wk-sync (purge() was
never reachable), makes stored file names unique within a second,
excludes widgets from service autowiring, removes unused repository
methods, and adds a planner test covering re-imports with and without
member groups.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
All W&K configuration moves from tl_calendar into the new table
tl_wk_config (one entry per calendar), edited under W&K-Tools → Einstellungen.
The backend group now has separate entries for import, inbox, bookings,
inquiries, exports, categories, settings and log. Notification selects show
the notification ID.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Import of W&K seminar exports with preview, booking form via form generator
with event-dependent field rules, notification routing, inbox with folders
and CSV export for W&K.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>