]> source.dussan.org Git - archiva.git/commitdiff
fixed up the user manglement page to work with the multiple entry points to it, as...
authorJesse McConnell <jmcconnell@apache.org>
Thu, 14 Sep 2006 06:05:59 +0000 (06:05 +0000)
committerJesse McConnell <jmcconnell@apache.org>
Thu, 14 Sep 2006 06:05:59 +0000 (06:05 +0000)
git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@443254 13f79535-47bb-0310-9956-ffa450edef68

archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/UserManagementAction.java
archiva-webapp/src/main/resources/xwork.xml
archiva-webapp/src/main/webapp/WEB-INF/jsp/decorators/default.jsp

index f6834fed8eb22c9b94c8ba5fb2f87f95d7653ba9..d2f2b0e485f3b93e2852c5d4071c3d112eb3492d 100644 (file)
@@ -73,26 +73,33 @@ public class UserManagementAction
     public void prepare()
         throws Exception
     {
-
-        if ( username != null )
+        if ( username == null || "".equals( username ) )
+        {
+            user = userManager.findUser( (String) session.get( "MANAGED_USERNAME" ) );
+            username = user.getUsername();
+        }
+        else
         {
             user = userManager.findUser( username );
+        }
 
-            principal = user.getPrincipal().toString();
-            fullName = user.getFullName();
-            email = user.getEmail();
+        session.put( "MANAGED_USERNAME", username );
 
-            if ( principal != null && rbacManager.userAssignmentExists( principal ) )
-            {
-                assignedRoles = new ArrayList( rbacManager.getAssignedRoles( principal ) );
-                availableRoles = new ArrayList( rbacManager.getUnassignedRoles( principal ) );
-            }
-            else
-            {
-                assignedRoles = new ArrayList();
-                availableRoles = rbacManager.getAllAssignableRoles();
-            }
+        principal = user.getPrincipal().toString();
+        fullName = user.getFullName();
+        email = user.getEmail();
+
+        if ( principal != null && rbacManager.userAssignmentExists( principal ) )
+        {
+            assignedRoles = new ArrayList( rbacManager.getAssignedRoles( principal ) );
+            availableRoles = new ArrayList( rbacManager.getUnassignedRoles( principal ) );
         }
+        else
+        {
+            assignedRoles = new ArrayList();
+            availableRoles = rbacManager.getAllAssignableRoles();
+        }
+
     }
 
     /**
@@ -100,13 +107,14 @@ public class UserManagementAction
      * 
      * @return
      */
-    public String input()
+    public String findUser()
     {
         try
         {
             if ( username != null )
             {
                 user = userManager.findUser( username );
+                session.put( "MANAGED_USERNAME", username );
                 return SUCCESS;
             }
             else
index d102f8e2e3622c105c8ef8ccb8ab4fe453c4145b..e43734cf471c7d270e428154178a720b79734bff 100644 (file)
 
     <action name="user" class="userManagement">
       <result name="success">/WEB-INF/jsp/admin/user.jsp</result>
-      <result name="input" type="chain">userManagement</result>
+      <result name="input" type="redirect-action">userManagement</result>
       <interceptor-ref name="configuredPrepareParamsStack"/>
     </action>
 
     <!-- plexus security actions -->
-
+    <!--
     <action name="userDetails" class="userManagement" method="save">
       <result name="input">/WEB-INF/jsp/admin/userDetails.jsp</result>
       <result name="success" type="chain">user</result>
       <interceptor-ref name="configuredPrepareParamsStack"/>
     </action>
-
-    <action name="userManagement" class="userManagement" method="input">
+    -->
+    <action name="userManagement" class="userManagement" method="findUser">
       <result name="input">/WEB-INF/jsp/admin/findUser.jsp</result>
-      <result name="success" type="chain">user</result>
+      <result name="success" type="redirect-action">user</result>
     </action>
 
     <action name="assignRoleToUser" class="plexusSecurityUserAssignment" method="assignRole">
-      <result name="success" type="chain">user</result>
+      <result name="success" type="redirect-action">user</result>
     </action>
 
     <action name="removeRoleFromUser" class="plexusSecurityUserAssignment" method="removeRole">
-      <result name="success" type="chain">user</result>
+      <result name="success" type="redirect-action">user</result>
     </action>
 
   </package>
index b792d0493d01b4b3c60740c67db3ca209cf8660c..87273e0647f57a388060883e4f64c7ca269eaefa 100644 (file)
         <pss:ifAnyAuthorized permissions="edit-configuration,edit-all-users">
           <li class="expanded">
             <pss:ifAuthorized permission="edit-all-users">
-              <my:currentWWUrl action="userManagement" namespace="/admin">User Management</my:currentWWUrl>               
+              <my:currentWWUrl action="userManagement!input" namespace="/admin">User Management</my:currentWWUrl>               
             </pss:ifAuthorized>
           </li>
           <li>