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>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit fa5b7e8260)
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
Phil Ringnalda 2024-09-20 14:43:35 -07:00 committed by Lucas Gass
parent 6f02fffe11
commit 93d5737493
1 changed files with 3 additions and 3 deletions

View File

@ -138,7 +138,7 @@
[% SET ccodes = AuthorisedValues.GetAuthValueDropbox('CCODE') %]
[% IF ( ccodes.count > 0 ) %]
<li>
<label for="ccode">Collection code: </label>
<label for="ccodeloop">Collection: </label>
<select id="ccodeloop" name="ccode">
<option value="">Filter collection</option>
[% FOREACH cc IN ccodes %]
@ -161,7 +161,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>
@ -195,7 +195,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 %]