https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41129

--- Comment #74 from Paul Derscheid <[email protected]> ---
Created attachment 203653
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=203653&action=edit
Bug 41129: Replace the staff booking modal with Vue

Replace the staff interface's jQuery booking modal with a Vue custom-element
island.

- add components for patron selection, booking details, the booking period,
  validation messages, the form, and the Bootstrap modal
- add a Pinia store for booking data, validation, calendar state, and create
and
  edit workflows
- discard responses from superseded requests and cancel patron searches when
  the form closes
- submit create and update requests through the booking API and retain support
  for CSRF-protected native form submission
- add the booking island to catalogue, circulation, and patron pages
- update booking tables and the booking timeline to open the Vue modal
- refresh page booking counts, tables, timelines, and success messages after a
  booking is saved
- return focus to the control that opened the modal when it closes
- format patron ages and calendar marker details with reorderable translations
- remove the old place_booking template, JavaScript, and global calendar styles
- add component and end-to-end tests for booking creation and editing

Test plan:
1. Enable EnableBooking and sign in as a staff user with permission to manage
   bookings.
2. Create a record with at least two bookable items of different item types and
   create a patron who can book them.
3. Open the record detail page and select Place booking.
4. Search for and select the patron. Verify that patron ages use the correct
   singular or plural wording.
5. Verify that pickup location, item type, and item choices become available
and
   that changing one updates the others.
6. Leave the item and item type empty, select an available period, and save an
   Any item booking. Verify the success message and booking count.
7. Create another booking for a specific item. Verify that existing bookings,
   checkouts, holidays, and circulation rules restrict the selectable dates.
8. Verify that calendar conflict details present the marker type and barcode as
   one complete message.
9. Edit each booking from the bookings table or timeline. Change its details
and
   verify that Update changes the existing booking instead of creating another.
10. Open the modal from the catalogue record, circulation, and patron-detail
    booking views and verify that create and edit actions use the same form.
11. Close and reopen the modal. Verify that the previous draft is cleared and
    focus returns to the control that opened it.
12. Repeat create, edit, and cancel using only the keyboard and verify that all
    fields, errors, date restrictions, and modal controls have accessible
names.
13. Run the BookingForm, BookingModal, BookingPatronStep, BookingPeriodStep,
    booking-store, and three Circulation booking-modal Cypress suites.

Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/>
Assisted-by: Opus 4.8 (Anthropic)
Assisted-by: GPT 5.6 (OpenAI)

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to