LP#1655399 webstaff: User perm editor grantable fix user/berick/lp1655399-user-perms-bool-fix
authorBill Erickson <berickxx@gmail.com>
Tue, 10 Jan 2017 17:19:35 +0000 (12:19 -0500)
committerBill Erickson <berickxx@gmail.com>
Tue, 10 Jan 2017 17:19:37 +0000 (12:19 -0500)
Correctly handle the boolean grantable flag in the user permission
editor.  In some cases, the boolean 0/1 values returned from storage are
returned as strings.  Cast them to numbers before checking truthiness.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/xul/staff_client/server/patron/user_edit_xhtml.js

index 3b78ad5..9a336bd 100644 (file)
@@ -360,7 +360,7 @@ function display_perm (root,perm_def,staff_perms, r) {
 
 
     var dis = false;
-    if ((up && up.id() < 0) || !sp || !sp.grantable()) dis = true; 
+    if ((up && up.id() < 0) || !sp || !Number(sp.grantable())) dis = true; 
     if (all) dis = false; 
 
     var label_cell = findNodeByName(prow,'plabel');
@@ -391,7 +391,9 @@ function display_perm (root,perm_def,staff_perms, r) {
     
     var grant_cell = findNodeByName(prow,'pgrant');
     findNodeByName(grant_cell,'p.grantable').disabled = dis;
-    findNodeByName(grant_cell,'p.grantable').checked = up ? (up.grantable() ? true : false) : false;
+    findNodeByName(grant_cell,'p.grantable').checked = 
+        up ? (Number(up.grantable()) ? true : false) : false;
+
     if (r % 2) grant_cell.className += ' odd';
 
 }