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>
This commit is contained in:
Emmi Takkinen 2024-07-30 15:43:08 +03:00 committed by Katrin Fischer
parent 6bcc82815d
commit 45e7bdaff7
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834

View file

@ -740,20 +740,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(){