Forward-port of a patch from Steve Callendar, via James Fournie, via launchpad:
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 23 Sep 2010 15:38:46 +0000 (15:38 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 23 Sep 2010 15:38:46 +0000 (15:38 +0000)
When the patron.password.use_phone is set, new patrons are created with their password set to the last 4 digits of their phone number, HOWEVER, when a patron's password is reset, it does not work properly. Although the little underlined summary shows the proper 4 digits, the password box displays 9-ish digits, and is not the last 4 digits of the password.

The attached patch was created by Steve Callender and is confirmed working on 1.6.0

ORIGINAL CAVEAT: This patch will not work on 2.0 as that has a new user editor, but it would presumably be worthwhile to verify this functionality works in that editor as well.

ED NOTE: Because it is possible to use the old editor -- it still exists -- this patch should be applied.  It does what it advertises to do, which is fix the old editor to follow the "use phone number" OU setting.

git-svn-id: svn://svn.open-ils.org/ILS/trunk@17922 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/patron/ue.js

index f90bfb9..e029118 100644 (file)
@@ -281,13 +281,26 @@ function uEditMakePhonePw() {
     }
 }
 
-function uEditResetPw(pw) { 
-    if(!pw) pw = uEditMakeRandomPw(patron);    
-    $('ue_password1').value = pw;
-    $('ue_password2').value = pw;
-    $('ue_password1').onchange();
+function uEditResetPw(pw) {
+    if(!pw) {
+        if(uEditUsePhonePw) {
+            if( (pw = patron.day_phone()) ||
+                (pw = patron.evening_phone()) || (pw = patron.other_phone()) ) {
+                    pw = pw.substring(pw.length - 4); // this is iffy
+                    uEditResetPw(pw);
+                        appendClear($('ue_password_plain'), text(pw));
+                        unHideMe($('ue_password_gen'));
+             }
+        } else {
+            pw = uEditMakeRandomPw(patron);
+        }
+        $('ue_password1').value = pw;
+        $('ue_password2').value = pw;
+        $('ue_password1').onchange();
+    }
 }
 
+
 function uEditClone(clone) {
 
     var cloneUser = fetchFleshedUser(clone);