Update of 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms
In directory james.mmbase.org:/tmp/cvs-serv24972

Modified Files:
      Tag: b1_5
        NewsletterEditionFreeze.java 
Added Files:
      Tag: b1_5
        NewsletterEditionFreezeAjax.java 
Log Message:
CMSC-1187, Newsletter: improve publication and sending mechanism,for ajax 
loading


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms
See also: http://www.mmbase.org/jira/browse/CMSC-1187


NewsletterEditionFreezeAjax.java is new



Index: NewsletterEditionFreeze.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterEditionFreeze.java,v
retrieving revision 1.2.2.3
retrieving revision 1.2.2.4
diff -u -b -r1.2.2.3 -r1.2.2.4
--- NewsletterEditionFreeze.java        19 Feb 2009 10:23:40 -0000      1.2.2.3
+++ NewsletterEditionFreeze.java        20 Feb 2009 09:21:15 -0000      1.2.2.4
@@ -1,21 +1,49 @@
 package com.finalist.newsletter.forms;
 
+
+
+import java.util.List;
+
 import javax.servlet.http.HttpServletRequest;
 
 import org.mmbase.bridge.Node;
 
 import com.finalist.cmsc.services.publish.Publish;
+import com.finalist.cmsc.services.workflow.Workflow;
+import com.finalist.cmsc.services.workflow.WorkflowException;
 import com.finalist.newsletter.domain.EditionStatus;
 import com.finalist.newsletter.util.NewsletterPublicationUtil;
+import org.mmbase.util.logging.Logger;
+import org.mmbase.util.logging.Logging;
 
 public class NewsletterEditionFreeze extends NewsletterEditionAction{
    private static final String ERRORS = "errors";
+   private static final String NEEDAJAX = "needajax";
+   private static final Logger log = 
Logging.getLoggerInstance(NewsletterEditionFreeze.class.getName());
    @Override
    protected void doSave(HttpServletRequest request, Node edition) throws 
Exception {
-      if 
(!EditionStatus.FROZEN.value().equals(edition.getValue("process_status")) && 
Publish.isPublished(edition)) {
+      if 
(!EditionStatus.FROZEN.value().equals(edition.getValue("process_status"))) {
+         if (Publish.isPublished(edition)) {
          NewsletterPublicationUtil.freezeEdition(edition);
       } else {
+            try {
+               Workflow.publish(edition);
+            }
+            catch (WorkflowException wfe) {
+               List<Node> errors = wfe.getErrors();
          request.getSession().setAttribute(ERRORS, edition.getValue("title"));
+               for (Node errorNode : errors) {
+                  log.error(errorNode.getNodeManager().getName() + " " + 
errorNode.getNumber() + " ");
+               }        
+               if (Workflow.isAcceptedStepEnabled()) {
+                  Workflow.accept(edition, "");
+               }
+               else {
+                  Workflow.finish(edition, "");
+               }
+            }
+            request.getSession().setAttribute(NEEDAJAX, edition.getNumber());
+         }
       }
    }
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to