Update of
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
In directory
james.mmbase.org:/tmp/cvs-serv2166/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
Modified Files:
ChannelDelete.java
Log Message:
Fixed CMSC-789, also fixed problem with deleting content before confirmation
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
See also: http://www.mmbase.org/jira/browse/CMSC-789
Index: ChannelDelete.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms/ChannelDelete.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- ChannelDelete.java 28 Nov 2007 13:39:52 -0000 1.7
+++ ChannelDelete.java 7 Mar 2008 13:00:53 -0000 1.8
@@ -9,20 +9,18 @@
*/
package com.finalist.cmsc.repository.forms;
-import java.util.ArrayList;
import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
-import net.sf.mmapps.commons.bridge.RelationUtil;
import net.sf.mmapps.commons.util.StringUtil;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.MessageResources;
-import org.mmbase.bridge.*;
+import org.mmbase.bridge.Cloud;
+import org.mmbase.bridge.Node;
+import org.mmbase.bridge.NodeList;
+import org.mmbase.bridge.RelationManager;
import com.finalist.cmsc.repository.RepositoryUtil;
import com.finalist.cmsc.services.publish.Publish;
@@ -49,7 +47,10 @@
}
}
else {
- if ("delete".equals(action)) {
+ if ("cancel".equals(action)) {
+ return mapping.findForward(SUCCESS);
+ }
+ else if ("delete".equals(action)) {
NodeList createdElements =
RepositoryUtil.getCreatedElements(channelNode);
for (Iterator<Node> iter = createdElements.iterator();
iter.hasNext();) {
Node objectNode = iter.next();
@@ -63,7 +64,6 @@
Publish.unpublish(objectNode);
Workflow.remove(objectNode);
}
- return mapping.findForward("channeldelete");
}
else if ("move".equals(action)) {
// get relations of content elements to channels other then
the creationchannel
@@ -87,19 +87,23 @@
RepositoryUtil.removeContentFromChannel(elementNode,
channelNode);
RepositoryUtil.removeCreationRelForContent(elementNode);
RepositoryUtil.addCreationChannel(elementNode,
newChannelNode);
+ }
+ else {
+ // remove the element
+ RepositoryUtil.removeContentFromChannel(elementNode,
channelNode);
+
RepositoryUtil.removeCreationRelForContent(elementNode);
+
RepositoryUtil.removeContentFromAllChannels(elementNode);
+ RepositoryUtil.addContentToChannel(elementNode,
RepositoryUtil.getTrashNode(cloud));
+ }
// unpublish and remove from workflow
Publish.remove(elementNode);
Publish.unpublish(elementNode);
Workflow.remove(elementNode);
}
}
- return mapping.findForward("channeldelete");
- }
- else if ("cancel".equals(action)) {
- return mapping.findForward(SUCCESS);
- }
- else {
+
+
if (Workflow.hasWorkflow(channelNode)) {
Workflow.remove(channelNode);
}
@@ -111,6 +115,5 @@
return mapping.findForward(SUCCESS);
}
}
- }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs