From 871902539652a383b31ad5df47619c87af654f5f Mon Sep 17 00:00:00 2001 From: Emmi Takkinen Date: Tue, 30 Jul 2024 15:43:08 +0300 Subject: [PATCH] Bug 37524: Do not attempt to renew check outs if there is nothing to renew If patrons loans are not renewable and one hits "Renew all" button in patrons "Check out" page, Koha is redirected to "Export data" tool. This happens because when there is nothing to renew call to function renew_all produces error: "Uncaught TypeError: renew_all(...) is undefined". This patch prevents call to this function and adds alert to inform user that there are no items to be renewed. To reproduce: 1. Find patron with check outs which renewals count has hit the maximum limit of renewals. 2. Press "Renew all" button. => Koha is redirected to "Export data" tool. 3. Apply this patch. 4. Try to renew check outs again. => Alert pop up is displayed. Sponsored-by: Koha-Suomi Oy --- koha-tmpl/intranet-tmpl/prog/js/checkouts.js | 29 ++++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js index a2b540e971..befc2a4118 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js +++ b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js @@ -738,20 +738,25 @@ $(document).ready(function() { let item_ids = $(".renew:checked:visible").map((i, c) => c.value); - renew_all(item_ids, renew).then(() => { - // Refocus on barcode field if it exists - if ( $("#barcode").length ) { - $("#barcode").focus(); - } + if( item_ids.length > 0 ){ + renew_all(item_ids, renew).then(() => { + // Refocus on barcode field if it exists + if ( $("#barcode").length ) { + $("#barcode").focus(); + } - if ( refresh_table ) { - RefreshIssuesTable(); - } - $('#RenewChecked, #CheckinChecked').prop('disabled' , true ); - }); + if ( refresh_table ) { + RefreshIssuesTable(); + } + $('#RenewChecked, #CheckinChecked').prop('disabled' , true ); + }); + + // Prevent form submit + return false; + } else { + alert(_("There are no items to be renewed.")); + } - // Prevent form submit - return false; }); $("#RenewAll").on("click",function(){ -- 2.34.1