From 3f252d0632894de96112b65aa130fc21278da9fa Mon Sep 17 00:00:00 2001
From: Phil Ringnalda <phil@chetcolibrary.org>
Date: Fri, 20 Sep 2024 14:43:35 -0700
Subject: [PATCH] Bug 37977: Fix some issues with labels in Inventory form

The inventory form has several issues with labels with a for attribute that
doesn't match the id of the input, so the label doesn't actually get linked
to anything.

Test plan:
 1. Without the patch, go to Cataloging - Inventory
 2. In the section for "Item location filters" click the label for "Shelving
    location (items.location) is", which will focus the select menu, then
    press the down arrow on the keyboard to see that it's focused by opening
    the select menu.
 3. Click in a blank spot to close the select menu, then click the label for
    "Collection" and press the down arrow key, which will scroll the page
    since the label didn't focus the menu, and repeat with "Call number
    classification scheme" which also will scroll the page when you press
    down arrow.
 4. In the section for "Optional filters for inventory list or comparing
    barcodes" click any of the labels below items.notforloan - clicking a
    checkbox label should toggle whether the checkbox is checked, but it
    will not
 5. Apply patch, refresh page
 6. Repeat steps 3 and 4, but this time you will get the proper behavior,
    focusing the select menus and toggling the checkboxes

Sponsored-by: Chetco Community Public Library
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
---
 koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt
index 554d7241d6c..071f556e679 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/inventory.tt
@@ -139,7 +139,7 @@
                             [% SET ccodes = AuthorisedValues.GetAuthValueDropbox('CCODE') %]
                             [% IF ( ccodes.count > 0 ) %]
                                 <li>
-                                    <label for="ccode">Collection: </label>
+                                    <label for="ccodeloop">Collection: </label>
                                     <select id="ccodeloop" name="ccode">
                                         <option value="">Filter collection</option>
                                         [% FOREACH cc IN ccodes %]
@@ -162,7 +162,7 @@
                                 <input type="text" name="maxlocation" id="maxlocation" value="[% maxlocation | html %]" />
                                 <li>
                                     <label for="class_source">Call number classification scheme</label>
-                                    <select name="class_source">
+                                    <select name="class_source" id="class_source">
                                         [% FOREACH class_source IN class_sources %]
                                             [% IF class_source.cn_source == pref_class %]
                                                 <option value="[% class_source.cn_source | html %]" selected="selected">[% class_source.description | html %] (default)</option>
@@ -196,7 +196,7 @@
                                                                 [% value.lib | html %]
                                                             [% END %]
                                                         </label>
-                                                        <input type="checkbox" name="status-[% status.fieldname | html %]-[% value.authorised_value | html %]" id="[% value.authorised_value | html %]" />
+                                                        <input type="checkbox" name="status-[% status.fieldname | html %]-[% value.authorised_value | html %]" id="[% value.id | html %]" />
                                                     </li>
                                                 [% END %]
                                             [% END %]
-- 
2.39.2