Author: chathura
Date: Tue Dec  4 20:41:56 2007
New Revision: 10500

Log:


Integrated the user page with roles view, controls to add roles and user's 
recent activity.
Improved the people page.



Added:
   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/UIConstants.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
   trunk/registry/modules/webapps/src/main/webapp/admin/people.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
   Tue Dec  4 20:41:56 2007
@@ -183,6 +183,20 @@
 
                 forwardToResources(request, response, path);
 
+            } else if (command.equals("/addUserToRole")) {
+
+                AddUserRoleAction addUserRoleAction = new AddUserRoleAction();
+                
addUserRoleAction.setUserName(request.getParameter("userName"));
+                
addUserRoleAction.setRoleName(request.getParameter("roleToAdd"));
+
+                try {
+                    addUserRoleAction.execute(request);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+                forwardToUserPage(request, response, 
request.getParameter("userName"));
+
             } else if (command.equals("/addCollection")) {
 
                 AddCollectionAction addCollectionAction = new 
AddCollectionAction();
@@ -336,6 +350,51 @@
 
                 forwardToNewAdvancedSearch(request, response);
 
+            } else if (command.startsWith("/people") && command.length() > 
"/people/.".length()) {
+
+                String userName = 
uri.substring("/wso2registry/system/people/".length(), uri.length());
+
+                forwardToUserPage(request, response, userName);
+
+            } else if (command.equals("/removeUserFromRole")) {
+
+                RemoveUserRoleAction removeUserRoleAction = new 
RemoveUserRoleAction();
+                removeUserRoleAction.setUserName(request.getParameter("user"));
+                removeUserRoleAction.setRoleName(request.getParameter("role"));
+
+                try {
+                    removeUserRoleAction.execute(request);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+                forwardToUserPage(request, response, 
request.getParameter("user"));
+
+            } else if (command.equals("/removeUser")) {
+
+                RemoveUserAction removeUserAction = new RemoveUserAction();
+                removeUserAction.setUserName(request.getParameter("user"));
+
+                try {
+                    removeUserAction.execute(request);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+                forwardToUserManagement(request, response);
+
+            } else if (command.equals("/removeRole")) {
+
+                RemoveRoleAction removeRoleAction = new RemoveRoleAction();
+                removeRoleAction.setRoleName(request.getParameter("role"));
+
+                try {
+                    removeRoleAction.execute(request);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+
+                forwardToUserManagement(request, response);
             }
         }
     }
@@ -504,4 +563,28 @@
             e.printStackTrace();
         }
     }
+
+    private void forwardToUserPage(HttpServletRequest request, 
HttpServletResponse response, String userName) {
+
+        String uri = request.getRequestURI();
+
+        UserDetailsAction userDetailsAction = new UserDetailsAction();
+        userDetailsAction.setUserName(userName);
+
+        try {
+            userDetailsAction.execute(request);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        request.getSession().setAttribute(UIConstants.USER_BEAN, 
userDetailsAction);
+
+        try {
+            
request.getRequestDispatcher(UIConstants.USER_JSP).forward(request, response);
+        } catch (ServletException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
 }

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
 Tue Dec  4 20:41:56 2007
@@ -23,6 +23,7 @@
     public static final String USER_MANAGEMENT_BEAN = "user_management";
     public static final String ACTIVITY_BEAN = "activity";
     public static final String ADVANCED_SEARCH_BEAN = "advanced_search";
+    public static final String USER_BEAN = "userBean";
 
     public static final String WEB_PATH = "web";
     public static final String SYSTEM_PATH = "system";
@@ -34,5 +35,6 @@
     public static final String USER_MANAGEMENT_JSP = "/admin/people.jsp";
     public static final String ACTIVITY_JSP = "/admin/recent-activity.jsp";
     public static final String ADVANCED_SEARCH_JSP = 
"/admin/advanced-search.jsp";
+    public static final String USER_JSP = "/admin/user.jsp";
     public static final String RESOURCE_DETAILS_JSP = 
"/admin/resources_details.jsp";
 }

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
   (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
   Tue Dec  4 20:41:56 2007
@@ -19,13 +19,17 @@
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.usermanager.Realm;
 
+import javax.servlet.http.HttpServletRequest;
+
 public class AddUserRoleAction extends AbstractRegistryAction {
 
     private String userName;
     private String roleName;
 
-    public String execute() throws Exception {
+    public String execute(HttpServletRequest request) throws Exception {
 
+        setRequest(request);
+        
         if (roleName.equals("1")) {
             return SUCCESS;
         }

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
    (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
    Tue Dec  4 20:41:56 2007
@@ -19,12 +19,16 @@
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.registry.secure.RegistryUserManager;
 
+import javax.servlet.http.HttpServletRequest;
+
 public class RemoveRoleAction extends AbstractRegistryAction {
 
     private String roleName;
 
-    public String execute() throws Exception {
+    public String execute(HttpServletRequest request) throws Exception {
 
+        setRequest(request);
+        
         if (roleName == null) {
             return ERROR;
         }

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
    (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
    Tue Dec  4 20:41:56 2007
@@ -19,12 +19,16 @@
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.registry.secure.RegistryUserManager;
 
+import javax.servlet.http.HttpServletRequest;
+
 public class RemoveUserAction extends AbstractRegistryAction {
 
     private String userName;
 
-    public String execute() throws Exception {
+    public String execute(HttpServletRequest request) throws Exception {
 
+        setRequest(request);
+        
         if (userName == null) {
             return ERROR;
         }

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
        (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
        Tue Dec  4 20:41:56 2007
@@ -19,13 +19,17 @@
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.usermanager.Realm;
 
+import javax.servlet.http.HttpServletRequest;
+
 public class RemoveUserRoleAction extends AbstractRegistryAction {
 
     private String userName;
     private String roleName;
 
-    public String execute() throws Exception {
+    public String execute(HttpServletRequest request) throws Exception {
 
+        setRequest(request);
+        
         SecureRegistry registry = (SecureRegistry) getRegistry();
         Realm realm = registry.getUserManager().getRealm();
 

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
   (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
   Tue Dec  4 20:41:56 2007
@@ -18,19 +18,24 @@
 
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.registry.secure.RegistryUserManager;
+import org.wso2.registry.LogEntry;
 import org.wso2.usermanager.Realm;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.ArrayList;
 
 public class UserDetailsAction extends AbstractRegistryAction {
 
     private String userName;
+    private List userActivity = new ArrayList();
     private List userRoles = new ArrayList();
     private List allRoles = new ArrayList();
 
-    public String execute() throws Exception {
+    public String execute(HttpServletRequest request) throws Exception {
 
+        setRequest(request);
+        
         SecureRegistry secureRegistry = (SecureRegistry) getRegistry();
         RegistryUserManager userManager = secureRegistry.getUserManager();
 
@@ -45,6 +50,30 @@
             allRoles.add(roleNamesArray[i]);
         }
 
+        LogEntry[] userLogs = secureRegistry.getLogs(null, -1, userName, null, 
null);
+        for (int i = 0; i < userLogs.length && i < 10; i++) {
+
+            LogEntry logEntry = userLogs[i];
+
+            if (logEntry.getAction() == LogEntry.UPDATE) {
+                String entry = logEntry.getUserName() + " has updated the 
resource '" + logEntry.getResourcePath() + "' on " + 
logEntry.getDate().toString() + ".";
+                userActivity.add(entry);
+
+            } else if (logEntry.getAction() == LogEntry.COMMENT) {
+                String entry = logEntry.getUserName() + " has commented on 
resource '" + logEntry.getResourcePath() + "' on " + 
logEntry.getDate().toString() + " with the following comment.<br/>" + 
logEntry.getActionData();
+                userActivity.add(entry);
+
+            } else if (logEntry.getAction() == LogEntry.TAG) {
+                String entry = logEntry.getUserName() + " has tagged the 
resource '" + logEntry.getResourcePath() + "' with tag '" + 
logEntry.getActionData() + "' on " + logEntry.getDate().toString() + ".";
+                userActivity.add(entry);
+
+            } else if (logEntry.getAction() == LogEntry.RATING) {
+                String entry = logEntry.getUserName() + " has rated the 
resource '" + logEntry.getResourcePath() + "' with rating " + 
logEntry.getActionData() + " on " + logEntry.getDate().toString() + ".";
+                userActivity.add(entry);
+
+            }
+        }        
+
         return SUCCESS;
     }
 
@@ -56,6 +85,14 @@
         this.userName = userName;
     }
 
+    public List getUserActivity() {
+        return userActivity;
+    }
+
+    public void setUserActivity(List userActivity) {
+        this.userActivity = userActivity;
+    }
+
     public List getUserRoles() {
         return userRoles;
     }

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     Tue Dec 
 4 20:41:56 2007
@@ -103,9 +103,9 @@
     %>
 
     <tr>
-        <td><%=regUser%></td>
-        <td>11/26/07 2:35:33 PM.046</td>
-        <td>Admin</td>
+        <td><a 
href="/wso2registry/system/people/<%=regUser%>"><%=regUser%></a></td>
+        <td>Friendly name should appear here</td>
+        <td><a href="/wso2registry/system/removeUser?user=<%=regUser%>">Remove 
user</a></td>
         <td>
             <a href="#" title="Delete" style="margin-left:5px;"><img 
src="images/icon-trash.gif" border="0" /></a>
         </td>
@@ -158,9 +158,9 @@
     %>
     <tr>
         <td><%=role%></td>
-        <td>11/26/07 2:35:33 PM.046</td>
+        <td><a href="/wso2registry/system/removeRole?role=<%=role%>">Remove 
role</a></td>
         <td>
-            <a href="#" title="Delete" style="margin-left:5px;"><img 
src="images/icon-trash.gif" border="0" /></a>
+            <a href="/wso2registry/system/removeRole?role=<%=role%>" 
title="Delete" style="margin-left:5px;"><img src="images/icon-trash.gif" 
border="0" /></a>
         </td>
     </tr>
 

Added: trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
==============================================================================
--- (empty file)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp       Tue Dec 
 4 20:41:56 2007
@@ -0,0 +1,55 @@
+<%@ page import="org.wso2.registry.web.actions.UserDetailsAction" %>
+<%@ page import="org.wso2.registry.web.UIConstants" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+<head><title>WSO2 Registry</title></head>
+
+<body>
+
+    <%
+        UserDetailsAction userDetailsAction = (UserDetailsAction) 
request.getSession().getAttribute(UIConstants.USER_BEAN);
+    %>
+
+    <h1><%=userDetailsAction.getUserName()%></h1>
+
+    <br/>
+
+    <ul>
+        <%
+            Iterator iUserRoles = userDetailsAction.getUserRoles().iterator();
+            while (iUserRoles.hasNext()) {
+                String userRole = (String) iUserRoles.next();
+        %>
+        <li><%=userRole%><a 
href="/wso2registry/system/removeUserFromRole?user=<%=userDetailsAction.getUserName()%>&role=<%=userRole%>">Remove</a></li>
+        <% } %>
+    </ul>
+
+    <form action="/wso2registry/system/addUserToRole" method="post">
+        <input type="hidden" name="userName" 
value="<%=userDetailsAction.getUserName()%>"/>
+        <select name="roleToAdd">
+            <%
+                Iterator iRoles = userDetailsAction.getAllRoles().iterator();
+                while (iRoles.hasNext()) {
+                    String roleName = (String) iRoles.next();
+            %>
+            <option value="<%=roleName%>"><%=roleName%></option>
+            <% } %>
+        </select>
+        <input type="submit" value="Add"/>
+    </form>
+
+    <h2>Recent activity of the user</h2>
+    <br/>
+    <ul>
+        <%
+            Iterator iActivity = 
userDetailsAction.getUserActivity().iterator();
+            while (iActivity.hasNext()) {
+                String activity = (String) iActivity.next();
+        %>
+        <li><%=activity%></li>
+        <% } %>        
+    </ul>
+
+</body>
+</html>
\ No newline at end of file

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

Reply via email to