LP#1706148 - Hide "Hold is behind Circ Desk" checkbox in XUL patron registration.
authorJosh Stompro <stomproj@larl.org>
Mon, 24 Jul 2017 18:51:55 +0000 (13:51 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Mon, 31 Jul 2017 21:28:49 +0000 (17:28 -0400)
When the library setting for "Behind Desk Pickup Supported" is not enabled then
the checkbox for "Hold is behind Circ Desk" should be hidden.

Test Plan - before fix:
  1. Check to make sure that the "Behind Desk Pickup Supported" library setting is
     unset or false.
  2. Open the patron registration screen in the XUL staff client and see that the
     user settings checkbox for "Hold is behind Circ Desk" exists.

After Fix Applied:
  1. Check to make sure that the "Behind Desk Pickup Supported" library setting is
     unset or false.
  2. Open the patron registration screen in the XUL staff client and see that the
     user settings checkbox for "Hold is behind Circ Desk" no longer is shown.
  3. Change the library setting in question to True.
  4. Reload/reopen the patron registration screen and see that the checkbox now
     is visible.

Signed-off-by: Josh Stompro <stomproj@larl.org>
Signed-off-by: Dan Pearl <dpearl@cwmars.org>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>

Open-ILS/web/js/ui/default/actor/user/register.js

index 8658667..0e9ae91 100644 (file)
@@ -974,6 +974,13 @@ function uEditDrawSettingRow(tbody, dividerRow, template, stype) {
             tb.attr('value', userSettings[stype.name()]);
             dojo.connect(tb, 'onChange', function(newVal) { userSettingsToUpdate[stype.name()] = newVal; });
             break;
+        case 'circ.holds_behind_desk':
+            // Skip when hold is behind circ desk is not enabled
+            if(!orgSettings['circ.holds.behind_desk_pickup_supported']) return;
+            var cb = new dijit.form.CheckBox({scrollOnFocus:false}, getByName(row, 'widget'));
+            cb.attr('value', userSettings[stype.name()]);
+            dojo.connect(cb, 'onChange', function(newVal) { userSettingsToUpdate[stype.name()] = newVal; });
+            break;
         default:
             var cb = new dijit.form.CheckBox({scrollOnFocus:false}, getByName(row, 'widget'));
             cb.attr('value', userSettings[stype.name()]);