From bf8237ae54aa09ee9285bed5b53a4fd3a63db668 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Mon, 8 Jun 2026 15:06:15 +0100 Subject: [PATCH] Bug 41898: Fix callers of bookings API after removing server-side active filter The bookings REST controller previously applied filter_by_active (status IN 'new','issued') as a server-side pre-filter. Removing that pre-filter means callers that relied on it must now supply an explicit status filter. - pendingbookings.tt: add status filter to additional_filters so the pending-bookings-to-collect page still shows only new+issued bookings - place_booking.js: correct status values from the obsolete 'pending','active' (never valid in the schema) to the correct 'new','issued' Test plan: 1. Navigate to Circulation > Bookings to collect. - Confirm only bookings with status "New" or "Issued" are listed. - Complete a booking (check out then return the item) and confirm it disappears from the list. 2. On any biblio with multiple bookings, open the Place booking modal. - Create overlapping bookings where one is completed or cancelled. - Confirm the modal does not treat completed/cancelled bookings as active conflicts when checking availability. Sponsored-by: OpenFifth Sponsored-by: Westminster City Council Signed-off-by: Hannah Dunne-Howrie Signed-off-by: Paul Derscheid Signed-off-by: Pedro Amorim --- .../intranet-tmpl/prog/en/modules/circ/pendingbookings.tt | 3 +++ koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt index 48632a2acc..c277ec65e6 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingbookings.tt @@ -134,6 +134,9 @@ }; $(document).ready(function () { let additional_filters = { + status: function () { + return { "-in": ["new", "issued"] }; + }, start_date: function () { let fromdate = $("#from"); let isoFrom; diff --git a/koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js b/koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js index 76ed602d0b..3d15220198 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js +++ b/koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js @@ -422,7 +422,7 @@ $("#placeBookingModal").on("show.bs.modal", function (e) { "/api/v1/bookings?biblio_id=" + biblionumber + "&_per_page=-1" + - '&q={"status":{"-in":["new","pending","active"]}}', + '&q={"status":{"-in":["new","issued"]}}', dataType: "json", type: "GET", });