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

Reply via email to