Author: chanaka
Date: Fri Jan 18 04:27:33 2008
New Revision: 12479
Log:
User password editing(AJAX) functionality introduced in the user page.
Some usability issues are fixed in the peoples page.
Added:
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
Fri Jan 18 04:27:33 2008
@@ -250,7 +250,17 @@
forwardToResources(request, response, path);
}
- } else if (command.equals("/setProperty")) {
+ } else if (command.equals("/saveNewPassword")) {
+
+ try {
+ UserUtil.updatePassword(request,response);
+ } catch (Exception e) {
+ // todo: implement a general AJAX error segment
+ setErrorMessage(request, e.getMessage());
+ forwardToResources(request, response, path);
+ }
+
+ }else if (command.equals("/setProperty")) {
PropertiesUtil.setProperty(request, response);
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
Fri Jan 18 04:27:33 2008
@@ -57,6 +57,7 @@
public static final String AJAX_DESCRIPTION_JSP = "/admin/ajax_desc.jsp";
public static final String AJAX_PROPERTIES_JSP =
"/admin/ajax/resource-properties.jsp";
public static final String AJAX_USER_FRIENDLY_NAME_JSP =
"/admin/ajax/user-friendly-name.jsp";
+ public static final String AJAX_USER_PASSWORD_JSP =
"/admin/ajax/user-password-edit.jsp";
public static final String AJAX_COMMENTS_JSP =
"/admin/ajax/comment-list.jsp";
public static final String RESOURCE_DETAILS_JSP =
"/admin/resources_details.jsp";
public static final String ERROR_JSP = "/admin/error.jsp";
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/utils/UserUtil.java
Fri Jan 18 04:27:33 2008
@@ -140,4 +140,31 @@
request.getRequestDispatcher(UIConstants.AJAX_USER_FRIENDLY_NAME_JSP).forward(request,response);
}
+ public static void updatePassword(HttpServletRequest request,
HttpServletResponse response)
+ throws ServletException, IOException {
+ try{
+ String userName = request.getParameter("userName");
+ String newPassword = request.getParameter("newPassword");
+
+ Registry registry = CommonUtil.getUserRegistry(request);
+
+ SecureRegistry secureRegistry = (SecureRegistry) registry;
+ Realm userRealm = secureRegistry.getUserRealm();
+ userRealm.getUserStoreAdmin().updateUser(userName,newPassword);
+
+ //Map userProperties =
userRealm.getUserStoreAdmin().getUserProperties(userName);
+ //userProperties.put("friendlyName", friendlyName);
+ //userRealm.getUserStoreAdmin().setUserProperties(userName,
userProperties);
+
+ UserDetailsAction userDetailsAction = new UserDetailsAction();
+ userDetailsAction.setUserName(userName);
+ userDetailsAction.execute(request);
+ request.getSession().setAttribute(UIConstants.USER_BEAN,
userDetailsAction);
+
+ } catch (Exception e) {
+
+ }
+
request.getRequestDispatcher(UIConstants.AJAX_USER_PASSWORD_JSP).forward(request,response);
+ }
+
}
Added:
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
==============================================================================
--- (empty file)
+++
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-password-edit.jsp
Fri Jan 18 04:27:33 2008
@@ -0,0 +1,41 @@
+<%@ page import="org.wso2.registry.web.UIConstants" %>
+<%@ page import="org.wso2.registry.web.actions.UserDetailsAction" %>
+<%--
+ Created by IntelliJ IDEA.
+ User: chanaka jayasena
+ Date: Jan 18, 2008
+ Time: 12:26:37 PM
+ To change this template use File | Settings | File Templates.
+--%>
+<%
+ UserDetailsAction userDetailsAction = (UserDetailsAction)
request.getSession().getAttribute(UIConstants.USER_BEAN);
+%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+ <table cellpadding="0" cellspacing="0" border="0" class="simple-data-table"
style="width:400px;margin-bottom:10px;">
+ <tr id="passwordView">
+ <th style="width:140px">Password:</th>
+ <td style="text-align:right;width:20px;" align="right">
+ <a
onclick="showHideCommon('passwordView');showHideCommon('passwordEdit1');showHideCommon('passwordEdit2');showHideCommon('passwordEdit3');"
title="Edit Password" href="#">
+ <img border="0" align="bottom"
src="/wso2registry/admin/images/icon-edit.gif"/>
+ </a>
+ </td>
+ <td>
+ - - - - - - -
+ </td>
+ </tr>
+ <tr id="passwordEdit1" style="display:none;">
+ <td style="width:140px"><h3 style="margin-bottom:0px;">Editing
Password:</h3></td>
+ <td style="text-align:right;width:20px;" align="right">
+ <a
onclick="saveNewPassword('<%=userDetailsAction.getUserName()%>')" title="Save
Password" href="#">
+ <img border="0" align="bottom"
src="/wso2registry/admin/images/save-button.gif"/>
+ </a>
+ </td>
+ <td></td>
+ </tr>
+ <tr id="passwordEdit2" style="display:none;">
+ <td style="width:140px">New Password</td><td></td><td><input
type="password" id="newPassword" /></td>
+ </tr>
+ <tr id="passwordEdit3" style="display:none;">
+ <td style="width:140px">Confirm Password</td><td></td><td><input
type="password" id="newPasswordConfirm" /></td>
+ </tr>
+ </table>
\ No newline at end of file
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js Fri Jan
18 04:27:33 2008
@@ -330,6 +330,25 @@
var friendlyName = document.getElementById('friendlyName').value;
new Ajax.Updater('friendlyNameDiv',
'/wso2registry/system/saveFriendlyName', { method: 'post', parameters:
{userName: userName, friendlyName: friendlyName} });
}
+function saveNewPassword(userName) {
+ var newPassword = document.getElementById('newPassword').value;
+ var newPasswordConfirm =
document.getElementById('newPasswordConfirm').value;
+ var passwordErrorMessage = document.getElementById('passwordErrorMessage');
+ if(newPassword!=newPasswordConfirm){
+ passwordErrorMessage.style.display = "block";
+ passwordErrorMessage.innerHTML="Please verify your password again.";
+ }
+ else
+ {
+ passwordErrorMessage.style.display = "none";
+ showHideCommon('passwordView');
+ showHideCommon('passwordEdit1');
+ showHideCommon('passwordEdit2');
+ showHideCommon('passwordEdit3');
+
+ new Ajax.Updater('passwordDiv',
'/wso2registry/system/saveNewPassword', { method: 'post', parameters:
{userName: userName, newPassword: newPassword} });
+ }
+}
// media type map to store file_extension -> media type pairs.
// these media type data will be retrieved upon the first request and stored
in memory.
@@ -501,5 +520,5 @@
showHideCommon(name+'Expanded');
showHideCommon(name+'Minimized');
}
-
+
}
\ No newline at end of file
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp Fri Jan
18 04:27:33 2008
@@ -48,7 +48,7 @@
<td align="right" valign="top">
<table width="100%" border="0" cellspacing="0"
cellpadding="0" class="toolBarTable">
<tr>
- <td><% if
(userManagementAction.isAddAllowed()) { %><a href="#"
onclick="showHideCommon('userAddBox');" title="Add New User"><img
src="/wso2registry/admin/images/universal-add.gif" border="0" align="top"
style="margin-top:-5px;" /></a><% } %></td>
+ <td><% if
(userManagementAction.isAddAllowed()) { %><a href="#"
onclick="showHideCommon('userAddBox');expandIfNot('user');" title="Add New
User"><img src="/wso2registry/admin/images/universal-add.gif" border="0"
align="top" style="margin-top:-5px;" /></a><% } %></td>
<td>
<a
href="#"
onclick="showHideCommon('userIconExpanded');showHideCommon('userIconMinimized');showHideCommon('userExpanded');showHideCommon('userMinimized');">
<img
src="/wso2registry/admin/images/icon-expanded.gif" border="0" align="top"
id="userIconExpanded" style="margin-top:-3px;" />
@@ -180,7 +180,7 @@
<td align="right" valign="top">
<table width="100%" border="0"
cellspacing="0" cellpadding="0" class="toolBarTable">
<tr>
- <td
valign="top"><% if (userManagementAction.isAddAllowed()) { %><a href="#"
onclick="showHideCommon('addRoleBox');" title="Add New Role"><img
src="/wso2registry/admin/images/universal-add.gif" style="margin-top:-5px;"
border="0" align="top" /></a><% } %></td>
+ <td
valign="top"><% if (userManagementAction.isAddAllowed()) { %><a href="#"
onclick="showHideCommon('addRoleBox');expandIfNot('role');" title="Add New
Role"><img src="/wso2registry/admin/images/universal-add.gif"
style="margin-top:-5px;" border="0" align="top" /></a><% } %></td>
<td>
<a href="#"
onclick="showHideCommon('roleIconExpanded');showHideCommon('roleIconMinimized');showHideCommon('roleExpanded');showHideCommon('roleMinimized');">
<img
src="/wso2registry/admin/images/icon-expanded.gif" border="0" align="top"
id="roleIconExpanded" style="margin-top:-3px;" />
Modified:
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
Fri Jan 18 04:27:33 2008
@@ -362,7 +362,7 @@
<% if(collection.getResourceDataList().isEmpty()) { %>
-<div class="helpText">Empty entries. </div>
+<div class="helpText">No Entries are defined yet. </div>
<% } %>
<% if (details.isCollection() && !details.isPutAllowed()) { %>
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp Fri Jan
18 04:27:33 2008
@@ -82,6 +82,8 @@
</tr>
</table>
</div>
+ <div id="passwordErrorMessage" style="display:none;"></div>
+ <div id="passwordDiv">
<table cellpadding="0" cellspacing="0" border="0"
class="simple-data-table" style="width:400px;margin-bottom:10px;">
<tr id="passwordView">
<th style="width:140px">Password:</th>
@@ -97,20 +99,21 @@
<tr id="passwordEdit1" style="display:none;">
<td style="width:140px"><h3 style="margin-bottom:0px;">Editing
Password:</h3></td>
<td style="text-align:right;width:20px;" align="right">
- <a
onclick="showHideCommon('passwordView');showHideCommon('passwordEdit1');showHideCommon('passwordEdit2');showHideCommon('passwordEdit3');"
title="Save Password" href="#">
+ <a
onclick="saveNewPassword('<%=userDetailsAction.getUserName()%>')" title="Save
Password" href="#">
<img border="0" align="bottom"
src="/wso2registry/admin/images/save-button.gif"/>
</a>
</td>
<td></td>
</tr>
<tr id="passwordEdit2" style="display:none;">
- <td style="width:140px">New Password</td><td></td><td><input
type="password" /></td>
+ <td style="width:140px">New Password</td><td></td><td><input
type="password" id="newPassword" /></td>
</tr>
<tr id="passwordEdit3" style="display:none;">
- <td style="width:140px">Confirm Password</td><td></td><td><input
type="password" /></td>
+ <td style="width:140px">Confirm Password</td><td></td><td><input
type="password" id="newPasswordConfirm" /></td>
</tr>
</table>
-
+ </div>
+
<h3>Add roles to <%=userDetailsAction.getUserName()%></h3>
<form action="/wso2registry/system/addUserToRole" method="post">
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev