Author: jonathan Date: Thu Aug 7 15:47:28 2008 New Revision: 20558 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=20558
Log: MASHUP-1082: Fixed Ajax returns to indicate whether password change was successful or not. Improved UI, e.g. error message text and styling, clearing fields on reentry or retry. Minor code simplifications too. Modified: branches/mashup/java/1.5/java/modules/www/ajax_profile.jsp branches/mashup/java/1.5/java/modules/www/user.jsp Modified: branches/mashup/java/1.5/java/modules/www/ajax_profile.jsp URL: http://wso2.org/svn/browse/wso2/branches/mashup/java/1.5/java/modules/www/ajax_profile.jsp?rev=20558&r1=20557&r2=20558&view=diff ============================================================================== --- branches/mashup/java/1.5/java/modules/www/ajax_profile.jsp (original) +++ branches/mashup/java/1.5/java/modules/www/ajax_profile.jsp Thu Aug 7 15:47:28 2008 @@ -23,12 +23,13 @@ <%@ page import="org.wso2.registry.users.UserRealm" %> <%@ page import="org.wso2.registry.users.UserStoreAdmin" %> <%@ page import="java.util.Map" %> +<%@ page import="org.wso2.mashup.MashupFault" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> -<!--Required to keep a user logged in if 'Remember Me' option is selected--> +<%--Required to keep a user logged in if 'Remember Me' option is selected--%> <%@ include file="validate_login.jsp" %> -<% +<% boolean success = false; String usernameParam; String fieldParam; @@ -58,7 +59,10 @@ success = true; } } else if (fieldParam.equals(MashupConstants.PASSWORD)) { - RegistryUtils.changeUserPassword(userStoreAdmin, currentUser, value); + try { + RegistryUtils.changeUserPassword(userStoreAdmin, currentUser, value); + success = true; + } catch (MashupFault e) {} } else { UserRealm realm = (UserRealm) request.getSession().getServletContext(). getAttribute(RegistryConstants.REGISTRY_REALM); Modified: branches/mashup/java/1.5/java/modules/www/user.jsp URL: http://wso2.org/svn/browse/wso2/branches/mashup/java/1.5/java/modules/www/user.jsp?rev=20558&r1=20557&r2=20558&view=diff ============================================================================== --- branches/mashup/java/1.5/java/modules/www/user.jsp (original) +++ branches/mashup/java/1.5/java/modules/www/user.jsp Thu Aug 7 15:47:28 2008 @@ -140,30 +140,33 @@ } function showControls(field) { + $("passwordMessages_value").update(''); + $("oldPassword_input_text").value = ""; + $("newPassword_input_text").value = ""; + $("newPasswordConf_input_text").value = ""; $(field + "_input").show(); $(field).hide(); - $("passwordMessages_value").update(''); } - function updatePassword(field, fieldtype, user) { + function updatePassword(field, user) { var oldPassword = $("oldPassword_input_text").value; var newPassword = $("newPassword_input_text").value; var newPasswordConf = $("newPasswordConf_input_text").value; if (newPassword != newPasswordConf) { - $("passwordMessages_value").update("New passwords do not match!"); + $("passwordMessages_value").update("New passwords do not match. Please enter them again."); } else if (newPassword.length < <%= MashupConstants.MIN_PASSWORD_LENGTH %>) { $("passwordMessages_value").update("New password length must exceed <%= MashupConstants.MIN_PASSWORD_LENGTH %> characters!"); } else if (newPassword.indexOf("<%= MashupConstants.PASSWORD_SEPARATOR %>") > -1) { - $("passwordMessages_value").update("New password uses restricted string!"); + $("passwordMessages_value").update("New password uses restricted string. Please choose a different one."); } else if (user == "<%= MashupConstants.RESTRICTED_PASSWORD %>" && newPassword == "<%= MashupConstants.RESTRICTED_PASSWORD %>") { - $("passwordMessages_value").update("Password not allowed!"); + $("passwordMessages_value").update("Restricted password. Please choose a different one."); } else { var changeDetails = encodeURI(oldPassword) + "<%= MashupConstants.PASSWORD_SEPARATOR %>" + encodeURI(newPassword); - new Ajax.Request("ajax_profile.jsp?name=" + user + "&field=" + fieldtype, { + new Ajax.Request("ajax_profile.jsp?name=" + user + "&field=password", { method: "post", contentType: "text/html", postBody: changeDetails, @@ -171,7 +174,14 @@ alert("Trouble contacting WSO2 Mashup Server ajax service. Please try again later."); }, onSuccess: function (transport) { - cancelEditable(field); + if (transport.responseText.indexOf("<failure/>") > 0) { + $("passwordMessages_value").update("Password change unsuccessful. Check that you entered the old password correctly."); + $("oldPassword_input_text").value = ""; + $("newPassword_input_text").value = ""; + $("newPasswordConf_input_text").value = ""; + } else { + cancelEditable(field); + } } }); } @@ -314,7 +324,7 @@ <% if (RegistryUtils.getCurrentUser(userRegistry).equals(memberName)) { %> <tr> <td class="profile_label"> - <nobr>Password:</nobr> + <nobr>password:</nobr> </td> <td> <div class="profile_password"> @@ -325,19 +335,19 @@ <span id="editPassword_input" style="display:none"> <table style="width: 95%;"> <tr><td class="profile_label"> - Old Password: </td><td><input type="password" id="oldPassword_input_text"> + old: </td><td><input type="password" id="oldPassword_input_text"> </td></tr> <tr><td class="profile_label"> - New Password: </td><td><input type="password" id="newPassword_input_text"> + new: </td><td><input type="password" id="newPassword_input_text"> </td></tr> <tr><td class="profile_label"> - Confirmation: </td><td><input type="password" id="newPasswordConf_input_text"> + confirm new: </td><td><input type="password" id="newPasswordConf_input_text"> </td></tr></table> - <span id="passwordMessages_value"></span> + <span id="passwordMessages_value" class="error"></span> <span class="edit-link">[<a href="#" onclick="cancelEditable('editPassword')">cancel</a>]</span> <span class="edit-link">[<a href="#" - onclick="updatePassword('editPassword', 'password', '<%=RegistryUtils.getCurrentUser(userRegistry)%>')">update</a>]</span> + onclick="updatePassword('editPassword', '<%=RegistryUtils.getCurrentUser(userRegistry)%>')">update</a>]</span> </span> </div> </td> _______________________________________________ Mashup-dev mailing list [email protected] http://mailman.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
