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
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 45e7bdaff7)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Emmi Takkinen 2024-07-30 15:43:08 +03:00 committed by Lucas Gass
parent c27d242adb
commit c815cdd690
1 changed files with 17 additions and 12 deletions

View File

@ -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(){