The seating entities from #3611662 (yoyaku_venue, yoyaku_section, yoyaku_seat_grade, yoyaku_seat) are headless: there is no UI to create or manage them, so the feature is only usable programmatically. This issue adds their admin UI plus a bulk seat generator.
yoyaku_seating attaches its own admin UI, the way yoyaku_order does, so yoyaku_ui stays core-only and nothing is forced to install seating. A venue owns its sections, seat grades and seats, so those are managed per venue, not as cross-venue lists:
- Venues have a list at /admin/booking/venue with add, edit and delete.
- Each venue exposes Sections, Seat grades and Seats tabs; its inventory is added, edited and removed from there, scoped to the venue and prefilled with it.
- A bulk seat generator on the venue's Seats tab: pick one of the venue's sections and an optional grade, enter rows (a comma list, each a label or a range like A-F or 1-10) and seats per row; seats are created labelled by row and position, skipping any that already exist.
- The resource Venue field and the category Seat grades field are made editable in their forms.
Adds a yoyaku_seating_example submodule that seeds a ready-to-explore hall (sections, seat grades, a block of seats, a resource, tariffs and a slot), removed on uninstall.
Includes kernel coverage for the generator and the example seed, and a functional test for the whole admin flow with yoyaku_ui not enabled, plus docs and French translations.
Issue fork yoyaku-3611710
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
mably commentedComment #4
mably commentedComment #6
mably commented