From 5382c1d444235854ec04bfdd0f0ceaa17250bd23 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. --- .../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 05c888f0559..a51fb103478 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 e7507673105..f69eca5f82c 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; @@ -235,7 +256,7 @@ $(document).ready(function() { $("#CheckAllRenewals").click(); $("#UncheckAllCheckins").click(); showHideOnHoldRenewal(); - $("#RenewCheckinChecked").click(); + $("#RenewChecked").click(); // Prevent form submit return false; -- 2.30.2