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