The button leads into the modules Anmeldungen and Kontaktanfragen. A group
that has those modules hidden got a 403 when clicking it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
- 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>
- Require contao/core-bundle and calendar-bundle ^6.0
- Render the setup check and the notification help as input_field
callbacks instead of a custom backend widget; the fields no longer
create a virtual jsonData column
- Load the backend style sheet through contao.backend.custom_css and
remove the menu listener (tooltip workaround for Contao 5 included)
- Tell editors when the Notification Center is not installed instead of
linking to a module that does not exist
- Generate category aliases with the slug settings of the calendar page
so that umlauts are transliterated for German sites
- Always return a RecordLabel for the category list, export stored
values as they are, remove the decodeEntities options and the legacy
"events" URL parameter, use array notation for the price columns
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A "setup check" box lists whether the booking form has the expected
field names (essential ones flagged as errors), the booking page carries
the booking form module, confirmation and inquiry pages are wired, the
calendar's reader page shows the booking status module and at least one
notification is assigned. Green when complete, red with concrete hints
otherwise, so misconfigurations show up before the first booking.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The explanation texts existed but used the "explanation" input type,
which Contao only knows in the front end form generator, so the backend
rendered nothing and editors saw twelve unlabelled selects. A small
backend explanation widget now shows how a notification is chosen and
the condition matrix, each select carries its condition as label, the
single-day and multi-day variants sit side by side, and a notice with a
link to the Notification Center appears while no notification of the
type "W&K booking" exists.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The field was declared as a Contao date field, so DC_Table parsed the
stored W&K format with the website's date format and threw "Invalid
date" when opening a booking. A save callback now normalises and
validates the value the same way the frontend form does.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Editing a booking required read access to the calendar event because of
the ptable link. Bookings are now a standalone table (deleted together with
the event via ctable) and the README describes the group permissions
(modules, record operations, fields).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
All editable fields of tl_wk_config, tl_wk_category, tl_wk_booking,
tl_wk_inquiry, the W&K fields of tl_calendar_events and the module
category filter can now be restricted per user group via "Erlaubte
Felder", like core tables. README documents the permission setup.
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>
Bookings get their own backend module (W&K-Sync → Anmeldungen) with a
sortable, filterable list; the operation on calendar events is removed and
the calendar module no longer exposes tl_wk_booking. Inbox edit links point
to the new module.
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>