瀏覽代碼

- fix bug with broken form pages if update profile links added
- improve js disconnect error
- helpdesk sms verify not working bug

Jason Rivard 8 年之前
父節點
當前提交
ba09291a29

+ 1 - 1
src/main/java/password/pwm/PwmConstants.java

@@ -219,7 +219,7 @@ public abstract class PwmConstants {
             "passwords are like underwear, changing underwear regularly is a good thing.", //menno
             "passwords are like underwear, changing underwear regularly is a good thing.", //menno
             "daisy, daisy, give me your password do...",
             "daisy, daisy, give me your password do...",
             "it's a wholesome can of software goodness", // thx krowten
             "it's a wholesome can of software goodness", // thx krowten
-
+            "this password is an memorial of the richard d. kiel memorial abend",
     };
     };
 
 
 
 

+ 0 - 6
src/main/java/password/pwm/http/PwmRequest.java

@@ -534,12 +534,6 @@ public class PwmRequest extends PwmHttpRequestWrapper implements Serializable {
         this.setAttribute(PwmRequestAttribute.FormReadOnly, readOnly);
         this.setAttribute(PwmRequestAttribute.FormReadOnly, readOnly);
         this.setAttribute(PwmRequestAttribute.FormShowPasswordFields, showPasswordFields);
         this.setAttribute(PwmRequestAttribute.FormShowPasswordFields, showPasswordFields);
         this.setAttribute(PwmRequestAttribute.FormMobileDevices, formDataMapValue);
         this.setAttribute(PwmRequestAttribute.FormMobileDevices, formDataMapValue);
-        this.setAttribute(PwmRequestAttribute.FormCustomLinks, new ArrayList<>(formConfiguration));
-    }
-
-    public void addFormInfoToRequestAttr(
-            final List<FormConfiguration> FormCustomLinks) {
-        this.setAttribute(PwmRequestAttribute.FormCustomLinks, new ArrayList<>(FormCustomLinks));
     }
     }
 
 
     public void invalidateSession() {
     public void invalidateSession() {

+ 1 - 2
src/main/java/password/pwm/http/servlet/UpdateProfileServlet.java

@@ -572,7 +572,7 @@ public class UpdateProfileServlet extends ControlledPwmServlet {
         final Map<FormConfiguration,String> formValueMap = formMapFromBean(updateAttributesProfile, updateProfileBean);
         final Map<FormConfiguration,String> formValueMap = formMapFromBean(updateAttributesProfile, updateProfileBean);
         pwmRequest.addFormInfoToRequestAttr(form, formValueMap, false, false);
         pwmRequest.addFormInfoToRequestAttr(form, formValueMap, false, false);
         final List<FormConfiguration> links = updateAttributesProfile.readSettingAsForm(PwmSetting.UPDATE_PROFILE_CUSTOMLINKS);
         final List<FormConfiguration> links = updateAttributesProfile.readSettingAsForm(PwmSetting.UPDATE_PROFILE_CUSTOMLINKS);
-        pwmRequest.addFormInfoToRequestAttr(links);
+        pwmRequest.setAttribute(PwmRequestAttribute.FormCustomLinks,new ArrayList<>(links));
         pwmRequest.forwardToJsp(JspUrl.UPDATE_ATTRIBUTES);
         pwmRequest.forwardToJsp(JspUrl.UPDATE_ATTRIBUTES);
     }
     }
 
 
@@ -583,7 +583,6 @@ public class UpdateProfileServlet extends ControlledPwmServlet {
         final Map<FormConfiguration,String> formValueMap = formMapFromBean(updateAttributesProfile, updateProfileBean);
         final Map<FormConfiguration,String> formValueMap = formMapFromBean(updateAttributesProfile, updateProfileBean);
         pwmRequest.addFormInfoToRequestAttr(form, formValueMap, true, false);
         pwmRequest.addFormInfoToRequestAttr(form, formValueMap, true, false);
         final List<FormConfiguration> links = updateAttributesProfile.readSettingAsForm(PwmSetting.UPDATE_PROFILE_CUSTOMLINKS);
         final List<FormConfiguration> links = updateAttributesProfile.readSettingAsForm(PwmSetting.UPDATE_PROFILE_CUSTOMLINKS);
-        pwmRequest.addFormInfoToRequestAttr(links);
         pwmRequest.forwardToJsp(JspUrl.UPDATE_ATTRIBUTES_CONFIRM);
         pwmRequest.forwardToJsp(JspUrl.UPDATE_ATTRIBUTES_CONFIRM);
     }
     }
 
 

+ 14 - 0
src/main/java/password/pwm/svc/stats/Statistic.java

@@ -238,4 +238,18 @@ public enum Statistic {
             return pwmApplication.getConfig().readSettingAsBoolean(pwmSetting);
             return pwmApplication.getConfig().readSettingAsBoolean(pwmSetting);
         }
         }
     }
     }
+
+    public static Statistic forKey(final String key) {
+        if (key == null) {
+            return null;
+        }
+
+        for (final Statistic stat : values()) {
+            if (stat.getKey().equals(key)) {
+                return stat;
+            }
+        }
+
+        return null;
+    }
 }
 }

+ 1 - 0
src/main/resources/password/pwm/i18n/Display.properties

@@ -77,6 +77,7 @@ Display_ChangePasswordForm=Please enter the following data.  This is required to
 Display_CheckingData=Checking Data....
 Display_CheckingData=Checking Data....
 Display_CheckingPassword=Checking Password....
 Display_CheckingPassword=Checking Password....
 Display_CheckingResponses=Checking Answers....
 Display_CheckingResponses=Checking Answers....
+Display_ClientDisconnect=Unable to communicate with server.
 Display_CommunicationError=Unable to communicate with server.  Continue when ready.
 Display_CommunicationError=Unable to communicate with server.  Continue when ready.
 Display_ConfirmResponses=Be sure your answers and questions are correct.  Check the spelling and punctuation.  In you are unable to remember your password, you will be able to access your account by supplying the answers to these security questions.
 Display_ConfirmResponses=Be sure your answers and questions are correct.  Check the spelling and punctuation.  In you are unable to remember your password, you will be able to access your account by supplying the answers to these security questions.
 Display_Day=day
 Display_Day=day

+ 1 - 1
src/main/webapp/public/resources/js/helpdesk.js

@@ -539,7 +539,7 @@ PWM_HELPDESK.sendVerificationToken = function(userKey, methods) {
             dialogText += '<br/><button class="btn" type="button" name="emailChoiceButton" id="emailChoiceButton">'
             dialogText += '<br/><button class="btn" type="button" name="emailChoiceButton" id="emailChoiceButton">'
                 + '<span class="btn-icon pwm-icon pwm-icon-envelope-o"></span>' + PWM_MAIN.showString('Button_Email') + '</button>';
                 + '<span class="btn-icon pwm-icon pwm-icon-envelope-o"></span>' + PWM_MAIN.showString('Button_Email') + '</button>';
         }
         }
-        if (tokenChoiceFlag || sendMethodSetting == 'EMAILONLY') {
+        if (tokenChoiceFlag || sendMethodSetting == 'SMSONLY') {
             dialogText += '<br/><br/><button class="btn" type="button" name="smsChoiceButton" id="smsChoiceButton">'
             dialogText += '<br/><br/><button class="btn" type="button" name="smsChoiceButton" id="smsChoiceButton">'
                 + '<span class="btn-icon pwm-icon pwm-icon-phone"></span>' + PWM_MAIN.showString('Button_SMS') + '</button>';
                 + '<span class="btn-icon pwm-icon pwm-icon-phone"></span>' + PWM_MAIN.showString('Button_SMS') + '</button>';
         }
         }

+ 8 - 1
src/main/webapp/public/resources/js/main.js

@@ -1809,7 +1809,14 @@ PWM_MAIN.ajaxRequest = function(url,loadFunction,options) {
     var content = 'content' in options ? options['content'] : null;
     var content = 'content' in options ? options['content'] : null;
     var method = 'method' in options ? options['method'] : 'POST';
     var method = 'method' in options ? options['method'] : 'POST';
     var errorFunction = 'errorFunction' in options ? options['errorFunction'] : function(error){
     var errorFunction = 'errorFunction' in options ? options['errorFunction'] : function(error){
-        PWM_MAIN.showErrorDialog(error);
+        var status = error['response']['status'];
+        if (status === 0 || status < 200 || status >= 300) {
+            var msg = PWM_MAIN.showString("Display_ClientDisconnect") + "  (" + status + ")";
+            console.log(msg);
+            PWM_MAIN.showErrorDialog(msg);
+        } else {
+            PWM_MAIN.showErrorDialog(error);
+        }
     };
     };
     var preventCache = 'preventCache' in options ? options['preventCache'] : true;
     var preventCache = 'preventCache' in options ? options['preventCache'] : true;
     var addPwmFormID = 'addPwmFormID' in options ? options['addPwmFormID'] : true;
     var addPwmFormID = 'addPwmFormID' in options ? options['addPwmFormID'] : true;