From 73ef1b0affe8650ec048ab1c7c1a6786734c9f07 Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Mon, 16 Oct 2023 22:20:54 +0000 Subject: [PATCH] Bug 35068: Split RenewCheckinChecked button into seperate renew/checkin buttons To test: 1. APPLY patch, clear browser's cache 2. Have more than 1 checkout issued to a borrower. 3. Load the checkout table on circ/circulation.pl 4. Notice that there is now 'Renew selected items' and 'Checkin selected items' button. 5. Play around with each making sure that they work as excepted when checkouts are checked in either the 'Check in' or 'Renew' columns. 6. Uncheck everything in the 'Renew column', the 'Renew selected items' button should be disabled. 7. Uncheck everything in the 'Checkin column', the 'Checkin selected items' button should be disabled. 8. Try unchecking some of these to make sure the Renew/Checkin button is properly disabled when no related checkboxes are checked. 9. Try using the select all/none options at the top of both the 'Renew' and 'Checkin' columns. Make sure the 'Renew selected items' and 'Checkin selected items' become properly disabled/enabled. 10. Make sure the 'Renew all' button still works properly. Signed-off-by: Owen Leonard Signed-off-by: Kelly --- .../prog/en/includes/checkouts-table.inc | 3 ++- koha-tmpl/intranet-tmpl/prog/js/checkouts.js | 25 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc index 05c888f055..a51fb10347 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc +++ b/koha-tmpl/intranet-tmpl/prog/en/includes/checkouts-table.inc @@ -62,7 +62,8 @@ [% END %] - + + [% END %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js index fb72b8b80a..ccef7061fb 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/checkouts.js +++ b/koha-tmpl/intranet-tmpl/prog/js/checkouts.js @@ -30,11 +30,13 @@ $(document).ready(function() { $("#CheckAllRenewals").on("click",function(){ $("#UncheckAllCheckins").click(); $(".renew:visible").prop("checked", true); + $('#RenewChecked').prop('disabled', !$('.renew:checked').length ); showHideOnHoldRenewal(); return false; }); $("#UncheckAllRenewals").on("click",function(){ $(".renew:visible").prop("checked", false); + $('#RenewChecked').prop('disabled', !$('.renew:checked').length ); showHideOnHoldRenewal(); return false; }); @@ -42,10 +44,12 @@ $(document).ready(function() { $("#CheckAllCheckins").on("click",function(){ $("#UncheckAllRenewals").click(); $(".checkin:visible").prop("checked", true); + $('#CheckinChecked').prop('disabled', !$('.checkin:checked').length ); return false; }); $("#UncheckAllCheckins").on("click",function(){ $(".checkin:visible").prop("checked", false); + $('#CheckinChecked').prop('disabled', !$('.checkin:checked').length ); return false; }); @@ -64,11 +68,15 @@ $(document).ready(function() { if ( $(this).is(":checked") ) { $( "#checkin_" + $(this).val() ).prop("checked", false); } + $('#CheckinChecked').prop('disabled', !$('.checkin:checked').length ); + $('#RenewChecked').prop('disabled', !$('.renew:checked').length ); }); $(document).on("change", '.checkin', function(){ if ( $(this).is(":checked") ) { $( "#renew_" + $(this).val() ).prop("checked", false); } + $('#CheckinChecked').prop('disabled', !$('.checkin:checked').length ); + $('#RenewChecked').prop('disabled', !$('.renew:checked').length ); }); // Display on hold due dates input when an on hold item is @@ -97,7 +105,7 @@ $(document).ready(function() { }); // Handle renewals and returns - $("#RenewCheckinChecked").on("click",function(){ + $("#CheckinChecked").on("click",function(){ let refresh_table = true; $(".checkin:checked:visible").each(function() { @@ -138,7 +146,20 @@ $(document).ready(function() { async: false, }); }); + // Refocus on barcode field if it exists + if ( $("#barcode").length ) { + $("#barcode").focus(); + } + + if ( refresh_table ) { + RefreshIssuesTable(); + } + // Prevent form submit + return false; + }); + $("#RenewChecked").on("click",function(){ + let refresh_table = true; $(".confirm:checked:visible").each(function() { itemnumber = $(this).val(); id = "#checkin_" + itemnumber; @@ -237,7 +258,7 @@ $(document).ready(function() { $("#CheckAllRenewals").click(); $("#UncheckAllCheckins").click(); showHideOnHoldRenewal(); - $("#RenewCheckinChecked").click(); + $("#RenewChecked").click(); // Prevent form submit return false; -- 2.30.2