Update of 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms
In directory james.mmbase.org:/tmp/cvs-serv12224

Modified Files:
        AddUserToGroupAction.java SearchConditionalUserAction.java 
Log Message:
CMSC-996,User and Group lists in Editors,improve Search and add Action


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms
See also: http://www.mmbase.org/jira/browse/CMSC-996


Index: AddUserToGroupAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms/AddUserToGroupAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- AddUserToGroupAction.java   28 Jul 2008 02:05:26 -0000      1.1
+++ AddUserToGroupAction.java   4 Aug 2008 07:12:07 -0000       1.2
@@ -10,19 +10,37 @@
 public class AddUserToGroupAction extends AbstractCommunityAction{
    public ActionForward execute(ActionMapping actionMapping, ActionForm 
actionForm, HttpServletRequest request, HttpServletResponse response)
     throws Exception{
-      if(request.getParameter("users")!=null){
-         String[] userIds = request.getParameter("users").split(";");
          SearchForm searchform = (SearchForm)actionForm;
+      getInitActionParramater(request, searchform);
+      String[] authIds= searchform.getChk_();
+      String groupName=request.getParameter("groupName");
+               if (null!=groupName&&null!=authIds) {
+                       for(String authId:authIds){
+                             
getAuthenticationService().addAuthorityToUserByAuthenticationId(authId, 
groupName);
+                          }
+                       return actionMapping.findForward("group");
+               }
+      return actionMapping.findForward("success");
+   }
+
+       private void getInitActionParramater(HttpServletRequest request,
+                       SearchForm searchform) {
+               if (request.getParameter("users") != null) {
+                       String[] userIds = 
request.getParameter("users").split(";");
          String[] groupNames = searchform.getChk_group();
-         for(String groupName:groupNames){
-               for(String userId:userIds){
-                  getAuthenticationService().addAuthorityToUser(userId, 
groupName);
+                       if (null != groupNames) {
+                               for (String groupName : groupNames) {
+                                       addlistUserToGroup(userIds, groupName);
                }
          }
          removeFromSession(request, searchform);
          request.getSession().removeAttribute("groupName");
       }
+       }
       
-      return actionMapping.findForward("success");
+       private void addlistUserToGroup(String[] userIds, String groupName) {
+               for (String userId : userIds) {
+                       getAuthenticationService().addAuthorityToUser(userId, 
groupName);
+               }
    }
 }


Index: SearchConditionalUserAction.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms/SearchConditionalUserAction.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- SearchConditionalUserAction.java    1 Aug 2008 11:10:19 -0000       1.11
+++ SearchConditionalUserAction.java    4 Aug 2008 07:12:07 -0000       1.12
@@ -5,7 +5,9 @@
 import com.finalist.cmsc.services.community.domain.PersonVO;
 import com.finalist.cmsc.services.community.person.Person;
 import com.finalist.cmsc.services.community.person.PersonService;
+import com.finalist.cmsc.services.community.security.Authentication;
 import com.finalist.cmsc.services.community.security.AuthenticationService;
+import com.finalist.cmsc.services.community.security.Authority;
 import com.finalist.cmsc.services.community.security.AuthorityService;
 import org.apache.commons.lang.StringUtils;
 import org.apache.struts.action.ActionForm;
@@ -16,6 +18,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -58,32 +62,44 @@
                        ActionForm actionForm, HttpServletRequest request,
                        HttpServletResponse httpServletResponse) throws 
Exception {
                SearchForm searchform = (SearchForm) actionForm;
-
                Map<String, String> map = getParameterMap(actionForm);
-
                String groupName = request.getParameter("groupName");
                String[] authIds = searchform.getChk_();
-               if (null != authIds) {
-                       removeAuthorityFromUser(groupName, authIds);
-               }
-               setPagingInformation(request);
-               map.put("group", groupName);
-               map.put("strict", "strict");
+               chooseOption(request, searchform, map, groupName, authIds);
                List<Person> persons = personService.getAssociatedPersons(map);
                int totalCount = personService.getAssociatedPersonsNum(map);
-
                setSharedAttributes(request, persons, totalCount);
-
                request.setAttribute("groupName", groupName);
                return actionMapping.findForward("group");
        }
    
+private void chooseOption(HttpServletRequest request, SearchForm searchform, 
Map<String, String> map, String groupName, String[] authIds) {
+       String option = searchform.getOption();
+       if (null != authIds&&"remove".equals(option)) {
+               removeAuthorityFromUser(groupName, authIds);
+       }
+       setPagingInformation(request);
+       map.put("group", groupName);
+       map.put("strict", "strict");
+       if ("select".equals(option)) {
+               request.setAttribute("option", option);
+               Authority 
authority=authorityService.findAuthorityByName(groupName);
+               Set<Authentication> 
authentications=authority.getAuthentications();
+               Set<String> userNames=new HashSet<String>();
+               for(Iterator iter = authentications.iterator(); 
iter.hasNext();){
+                       Authentication authentication=(Authentication) 
iter.next();
+                       userNames.add(authentication.getUserId());
+               }
+               String TransFormNames=StringUtils.join(userNames,"','");
+               map.put("strict", TransFormNames);
+       }
+}
+   
        public ActionForward searchCandidateSubscriber(ActionMapping 
actionMapping, ActionForm actionForm, HttpServletRequest request,
                        HttpServletResponse httpServletResponse) throws 
Exception {
 
                setPagingInformation(request);
                Map<String, String> map = getParameterMap(actionForm);
-
                map.put("strict", "strict");
 
                List<Person> persons = personService.getAssociatedPersons(map);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to