From b8a58f5636f675a6ed36d218cfc627cc8228f202 Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Wed, 13 Aug 2025 22:11:07 +0000 Subject: [PATCH] Bug 31698: Make searches return only exact matches for barcode/biblionumber --- .../prog/en/modules/reserve/request.tt | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index 285fab6a8b5..928d3eb3634 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -1812,9 +1812,11 @@ method: "GET", dataType: "json", success: function (data) { - if (data.length > 0) { + // Filter for exact matches only + let exactMatches = data.filter(item => item.external_id === externalID); + if (exactMatches.length > 0) { let resultHtml = ""; - $.each(data, function (index, item) { + $.each(exactMatches, function (index, item) { resultHtml += `
Biblionumber: ${item.biblio_id}
@@ -1840,7 +1842,7 @@ event.preventDefault(); $('#move_hold_biblio_confirm').prop('disabled' , true ); - let biblioID = $("#biblio_id").val(); + let biblioID = parseInt( $("#biblio_id").val() ); let apiUrl = `/api/v1/biblios?q={"biblio_id":"${encodeURIComponent(biblioID)}"}`; $.ajax({ url: apiUrl, @@ -1850,9 +1852,13 @@ 'Accept': 'application/json' }, success: function (data) { - if (data.length > 0) { + // Filter for exact matches only + let exactMatches = data.filter(item => item.biblio_id === biblioID); + + + if (exactMatches.length > 0) { let resultHtml = ""; - $.each(data, function (index, item) { + $.each(exactMatches, function (index, item) { resultHtml += `
Biblionumber: ${item.biblio_id}
@@ -1865,10 +1871,10 @@ $("#biblioResultMessage").html(resultHtml); } else { $("#biblioResultMessage").html(` -
No item found with barcode: ${biblioID}.
+
No record found with biblionumber: ${biblioID}.
`); } - }, + } }); }); -- 2.39.5