Update of 
/var/cvs/contributions/CMSContainer/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms
In directory 
james.mmbase.org:/tmp/cvs-serv2120/cmsc/contentrepository/src/java/com/finalist/cmsc/repository/forms

Modified Files:
      Tag: b1_4
        ChannelDelete.java 
Log Message:
Fixed CMSC-789, also fixed problem with deleting 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.7.2.1
diff -u -b -r1.7 -r1.7.2.1
--- ChannelDelete.java  28 Nov 2007 13:39:52 -0000      1.7
+++ ChannelDelete.java  7 Mar 2008 12:59:12 -0000       1.7.2.1
@@ -49,7 +49,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 +66,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 +89,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 +117,5 @@
                 return mapping.findForward(SUCCESS);
             }
         }
-    }
     
 }
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to