Update of
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms
In directory
james.mmbase.org:/tmp/cvs-serv16466/community/src/java/com/finalist/cmsc/community/forms
Modified Files:
GroupAction.java GroupInitAction.java
Log Message:
changes to group
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms
Index: GroupAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms/GroupAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- GroupAction.java 6 Feb 2008 15:10:57 -0000 1.1
+++ GroupAction.java 8 Feb 2008 13:13:28 -0000 1.2
@@ -1,5 +1,9 @@
package com.finalist.cmsc.community.forms;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -8,7 +12,12 @@
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
+import org.apache.struts.action.ActionMessage;
+import org.apache.struts.action.ActionMessages;
+import org.apache.struts.util.LabelValueBean;
+import com.finalist.cmsc.services.community.security.Authentication;
+import com.finalist.cmsc.services.community.security.AuthenticationService;
import com.finalist.cmsc.services.community.security.AuthorityService;
/**
@@ -16,41 +25,83 @@
*/
public class GroupAction extends AbstractCommunityAction {
- private static Log log = LogFactory.getLog(DeleteGroupAction.class);
+ private static Log log = LogFactory.getLog(GroupAction.class);
public ActionForward execute(ActionMapping actionMapping, ActionForm
actionForm, HttpServletRequest request,
HttpServletResponse httpServletResponse) throws
Exception {
if (!isCancelled(request)) {
GroupForm groupForm = (GroupForm) actionForm;
+ List<LabelValueBean> membersList = new
ArrayList<LabelValueBean>();
+ List<LabelValueBean> usersList = new
ArrayList<LabelValueBean>();
String id = groupForm.getName();
+ // get all users
+ // NodeList users = SecurityUtil.getUsers(cloud);
+ AuthenticationService as = getAuthenticationService();
+ List<Authentication> users = as.findAuthentications();
+
AuthorityService aus = getAuthorityService();
- if (groupForm.getAction().equalsIgnoreCase(ACTION_ADD))
{
- if (!aus.authorityExists(id)) {
- aus.createAuthority(null, id);
+ for (Iterator<Authentication> iter = users.iterator();
iter.hasNext();) {
+ Authentication user = iter.next();
+ String label = user.getUserId();
+ LabelValueBean bean = new LabelValueBean(label,
label);
+ usersList.add(bean);
+ }
+ // get members and remove them from users
+ for (String memberName : groupForm.getMembers()) {
+ // Node member = cloud.getNode(memberNumber);
+ String label = memberName;
+ LabelValueBean beanMember = new
LabelValueBean(label, label);
+ membersList.add(beanMember);
+ usersList.remove(beanMember);
+ }
+ request.setAttribute("membersList", membersList);
+ request.setAttribute("usersList", usersList);
+ // validate
+ ActionMessages errors = new ActionMessages();
+
+ // Node groupNode = getOrCreateNode(groupForm, cloud,
+ // SecurityUtil.GROUP);
+ if (groupForm.getAction().equalsIgnoreCase(ACTION_ADD))
{
+ if (id == null || id.length() < 3) {
+ errors.add("groupname", new
ActionMessage("error.groupname.invalid"));
+ saveErrors(request, errors);
+ return actionMapping.getInputForward();
} else {
- log.info("authority already exists");
+ String name = id;
+ // NodeList list =
+ //
MMBaseAction.getCloudFromSession(request).getNodeManager("mmbasegroups").getList(
+ // "name='" + name + "'", null, null);
+ boolean exist =
aus.authorityExists(name);
+ if (exist) {
+ errors.add("groupname", new
ActionMessage("error.groupname.alreadyexists"));
+ saveErrors(request, errors);
+ return
actionMapping.getInputForward();
+ }
}
- } else if
(groupForm.getAction().equalsIgnoreCase(ACTION_EDIT)) {
+ // groupNode.setStringValue("name",
groupForm.getName());
+ aus.createAuthority(null, id);
+ }
- } else {
- log.info("action failed");
+ // groupNode.commit();
+ // SecurityUtil.setGroupMembers(cloud, groupNode,
+ // groupForm.getMembers());
+ if (id != null) {
+ for (String memberName :
groupForm.getMembers()) {
+ as.addAuthorityToUser(memberName, id);
}
- } else {
- log.info("cancelled");
}
-
- // removeFromSession(httpServletRequest, actionForm);
+ }
+ removeFromSession(request, actionForm);
return actionMapping.findForward(SUCCESS);
}
-
}
Index: GroupInitAction.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/community/src/java/com/finalist/cmsc/community/forms/GroupInitAction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- GroupInitAction.java 7 Feb 2008 14:53:15 -0000 1.3
+++ GroupInitAction.java 8 Feb 2008 13:13:28 -0000 1.4
@@ -69,7 +69,6 @@
} else {
log.error("group failed");
}
-
} else {
// new
groupForm.setAction(ACTION_ADD);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs