From 387ff9d18e2eb7975caf870fb346efe5667f3068 Mon Sep 17 00:00:00 2001
From: Owen Leonard <oleonard@myacpl.org>
Date: Fri, 3 Jan 2020 18:43:15 +0000
Subject: [PATCH] Bug 24335: Cannot mark checkout notes seen/not seen in bulk

This patch changes the way checkbox events are handled on the checkout
notes page so that checking a checkbox enables the batch operation
controls.

Note: The addition of a "markseen" class is a preventative measure to
avoid future problems where using the "btn-small" class might not be
specific enough.

To test you should have multiple checkout notes to work with, both seen
and unseen. Apply the patch and go to "Checkout notes pending" from the
staff client home page.

 - Check any checkbox. The "Mark seen" and "Mark not seen" should go
   from disabled to enabled.
   - Test that the buttons work correctly.
 - Click the "Select all" and "Clear all" controls and confirm that the
   buttons are enabled and disabled correctly.

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
---
 .../intranet-tmpl/prog/en/modules/circ/checkout-notes.tt   | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/checkout-notes.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/checkout-notes.tt
index d1e3cb29f0..08d262d15c 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/checkout-notes.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/checkout-notes.tt
@@ -50,8 +50,8 @@
             [% IF ( notes.count ) %]
                 <form id="mark_selected" method="post" action="/cgi-bin/koha/circ/checkout-notes.pl">
                     <div id="toolbar" class="btn-toolbar">
-                        <button type="submit" class="btn btn-default" name="mark_selected-seen" value="seen" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button>
-                        <button type="submit" class="btn btn-default" name="mark_selected-notseen" value="notseen" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
+                        <button type="submit" class="btn btn-default markseen" name="mark_selected-seen" value="seen" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button>
+                        <button type="submit" class="btn btn-default markseen" name="mark_selected-notseen" value="notseen" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
                     </div>
 
                     <fieldset class="action" style="cursor:pointer;">
@@ -140,12 +140,12 @@
 
             $(".SelectAll").on("click", function(){
                 $("input[name='issue_ids'][type='checkbox']").prop("checked", true);
-                $(".btn-sm").prop("disabled", false);
+                $(".markseen").prop("disabled", false);
             });
 
             $(".ClearAll").on("click", function(){
                 $("input[name='issue_ids'][type='checkbox']").prop("checked", false);
-                $(".btn-sm").prop("disabled", true);
+                $(".markseen").prop("disabled", true);
             });
 
             $(".HideSeen").on("click", function(){
@@ -158,11 +158,11 @@
 
             $("#error").hide();
 
-            $("input[type='checkbox']").click(function(event){
+            $("#notestable").on("change", "input[type='checkbox']", function(){
                 if ( $("input[type='checkbox']").is(":checked") ) {
-                    $(".btn-sm").prop("disabled", false);
+                    $(".markseen").prop("disabled", false);
                 } else {
-                    $(".btn-sm").prop("disabled", true);
+                    $(".markseen").prop("disabled", true);
                 }
             });
 
-- 
2.11.0