Author: chanaka
Date: Wed Jan 16 23:31:42 2008
New Revision: 12383

Log:

user edit functionality is added (AJAX). Still has some work to be done on this.

Added:
   
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.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/css/main.css
   trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
   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
   Wed Jan 16 23:31:42 2008
@@ -262,6 +262,16 @@
                     forwardToResources(request, response, path);
                 }
 
+            }else if (command.equals("/saveFriendlyName")) {
+
+                try {
+                    UserUtil.updateFriendlyName(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
 Wed Jan 16 23:31:42 2008
@@ -56,6 +56,7 @@
     public static final String AJAX_PERMISSIONS_JSP = "/admin/permisions.jsp";
     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_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
      Wed Jan 16 23:31:42 2008
@@ -18,11 +18,17 @@
 
 import org.wso2.registry.RegistryException;
 import org.wso2.registry.RegistryConstants;
+import org.wso2.registry.Registry;
+import org.wso2.registry.web.UIConstants;
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+import java.io.IOException;
+import java.util.Map;
 
 public class UserUtil {
 
@@ -56,4 +62,26 @@
 
         return false;
     }
+    public static void updateFriendlyName(HttpServletRequest request, 
HttpServletResponse response)
+            throws ServletException, IOException {
+
+        try {
+            String userName = request.getParameter("userName");
+            String friendlyName = request.getParameter("friendlyName");
+            Registry registry = CommonUtil.getUserRegistry(request);
+
+            SecureRegistry secureRegistry = (SecureRegistry) registry;
+            Realm userRealm = secureRegistry.getUserRealm();
+
+            Map currentProperties = 
userRealm.getUserStoreAdmin().getUserProperties(userName);
+            currentProperties.put("friendlyName", friendlyName);
+        }
+        catch (RegistryException e) {
+            request.getSession().setAttribute(UIConstants.ERROR_MESSAGE, 
e.getMessage());
+        } catch (UserManagerException e) {
+            e.printStackTrace();  //To change body of catch statement use File 
| Settings | File Templates.
+        }
+        
request.getRequestDispatcher(UIConstants.AJAX_USER_FRIENDLY_NAME_JSP).forward(request,response);
+
+    }
 }

Added: 
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.jsp
==============================================================================
--- (empty file)
+++ 
trunk/registry/modules/webapps/src/main/webapp/admin/ajax/user-friendly-name.jsp
    Wed Jan 16 23:31:42 2008
@@ -0,0 +1,28 @@
+<%@ page import="org.wso2.registry.web.UIConstants" %>
+<%@ page import="org.wso2.registry.web.actions.UserDetailsAction" %>
+<%--
+  Created by IntelliJ IDEA.
+  User: chanaka jayasena
+  Date: Jan 17, 2008
+  Time: 11:38:27 AM
+  To change this template use File | Settings | File Templates.
+--%>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%
+    UserDetailsAction userDetailsAction = (UserDetailsAction) 
request.getSession().getAttribute(UIConstants.USER_BEAN);
+
+    String errorMessage = (String) 
request.getSession().getAttribute(UIConstants.ERROR_MESSAGE);
+    if (errorMessage != null) {
+        request.getSession().setAttribute(UIConstants.ERROR_MESSAGE, null);
+    }
+%>
+
+    <th style="width:140px; height:25px;">Friendly name:</th>
+    <td style="text-align:right;width:20px;" align="right">
+        <a 
onclick="showHideCommon('friendlyNameEdit');showHideCommon('friendlyNameView');"
 title="Edit Friendly Name" href="#">
+        <img id="mainIconExpanded" border="0" align="bottom" 
src="/wso2registry/admin/images/icon-edit.gif"/>
+        </a>
+    </td>
+    <td>
+        <%=userDetailsAction.getFriendlyName()%>
+    </td>

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/css/main.css
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/css/main.css   
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/css/main.css   Wed Jan 
16 23:31:42 2008
@@ -43,6 +43,7 @@
 margin:0px;
 color:#6f6f6f;
 margin-bottom:10px;
+margin-left:-10px;
 }
 h4{
 padding:0px;
@@ -150,7 +151,7 @@
 .box1-mid{
 border-left:solid 2px #cdb488;
 border-right:solid 2px #cdb488;
-padding-left:5px;
+padding-left:15px;
 padding-right:5px;
 }
 .box1-head td{
@@ -174,7 +175,7 @@
 .box2-mid{
 border-left:solid 2px #ced8bf;
 border-right:solid 2px #ced8bf;
-padding-left:5px;
+padding-left:15px;
 padding-right:5px;
 }
 .box2-head td{

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   Wed Jan 
16 23:31:42 2008
@@ -470,4 +470,10 @@
         fileHelpText.style.color="#cccccc";
         urlHelpText.style.color="#000000";
     }
+}
+
+function saveFriendlyName(userName)
+{
+    var friendlyName = document.getElementById('friendlyName').value;
+    new Ajax.Updater('friendlyNameView', 
'/wso2registry/system/saveFriendlyName', { method: 'post', parameters: 
{userName: userName, friendlyName: friendlyName} });
 }
\ No newline at end of file

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       Wed Jan 
16 23:31:42 2008
@@ -55,8 +55,56 @@
     </div>
     <div class="box1-mid" id="userExpanded">
         <!-- all the content goes here -->
-
-        Friendly name: <%=userDetailsAction.getFriendlyName()%><br/>
+       <table cellpadding="0" cellspacing="0" border="0" 
class="simple-data-table" style="width:400px;margin-bottom:10px;">
+               <tr id="friendlyNameView">
+                       <th style="width:140px; height:25px;">Friendly 
name:</th>
+                       <td style="text-align:right;width:20px;" align="right">
+                               <a 
onclick="showHideCommon('friendlyNameEdit');showHideCommon('friendlyNameView');"
 title="Edit Friendly Name" href="#">
+                               <img id="mainIconExpanded" border="0" 
align="bottom" src="/wso2registry/admin/images/icon-edit.gif"/>
+                               </a>
+                       </td>
+                       <td>
+                               <%=userDetailsAction.getFriendlyName()%>
+                       </td>
+               </tr>
+               <tr id="friendlyNameEdit" style="display:none;">
+                       <th style="width:140px; height:25px;">Friendly 
name:</th>
+                       <td style="text-align:right;width:20px;" align="right">
+                               <a title="Save Friendly Name" 
href="#editButton" 
onclick="showHideCommon('friendlyNameEdit');showHideCommon('friendlyNameView');saveFriendlyName('<%=userDetailsAction.getUserName()%>');">
+                               <img border="0" align="bottom" 
src="/wso2registry/admin/images/save-button.gif"/>
+                               </a>
+                       </td>
+                       <td>
+                               <input type="text" id="friendlyName" 
value="<%=userDetailsAction.getFriendlyName()%>" />
+                       </td>
+               </tr>
+               <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>
+                               &nbsp;&nbsp;&nbsp;- - - - - - -
+                       </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="showHideCommon('passwordView');showHideCommon('passwordEdit1');showHideCommon('passwordEdit2');showHideCommon('passwordEdit3');"
 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>
+               </tr>
+               <tr id="passwordEdit3" style="display:none;">
+                       <td style="width:140px">Confirm 
Password</td><td></td><td><input type="password" /></td>
+               </tr>
+       </table>
 
         <h3>Add roles to <%=userDetailsAction.getUserName()%></h3>
 
@@ -74,7 +122,7 @@
             <input type="submit" class="button" value="Add"/>
         </form>
         <h3>Available roles to <%=userDetailsAction.getUserName()%></h3>
-        <table cellpadding="0" cellspacing="0" border="0" style="width:100%" 
class="data-table">
+        <table cellpadding="0" cellspacing="0" border="0" style="width:600px;" 
class="data-table">
             <tr>
                 <th>Role Name</th>
                 <th style="width:100px;" align="left">Action</th>

_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev

Reply via email to