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

Modified Files:
        NewsletterPublicationPublish.java 
Log Message:
CMSC-1178 Newsletter: add mechanism to use restrictions in the newsletter 
edition workflow


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-1178


Index: NewsletterPublicationPublish.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/forms/NewsletterPublicationPublish.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -b -r1.23 -r1.24
--- NewsletterPublicationPublish.java   25 Nov 2008 10:34:23 -0000      1.23
+++ NewsletterPublicationPublish.java   10 Dec 2008 09:47:07 -0000      1.24
@@ -20,13 +20,14 @@
 import org.mmbase.bridge.Cloud;
 import org.mmbase.bridge.Node;
 
+import com.finalist.cmsc.mmbase.PropertiesUtil;
 import com.finalist.cmsc.navigation.NavigationUtil;
 import com.finalist.cmsc.navigation.ServerUtil;
 import com.finalist.cmsc.security.SecurityUtil;
 import com.finalist.cmsc.security.UserRole;
 import com.finalist.cmsc.services.community.ApplicationContextFactory;
-import com.finalist.cmsc.services.publish.Publish;
 import com.finalist.cmsc.struts.MMBaseFormlessAction;
+import com.finalist.newsletter.domain.EditionStatus;
 import com.finalist.newsletter.domain.Publication;
 import com.finalist.newsletter.domain.StatisticResult.HANDLE;
 import com.finalist.newsletter.services.NewsletterPublicationService;
@@ -61,14 +62,31 @@
       Node publicationNode = cloud.getNode(number);
 
       if (isSendAction(request)) {
-
          UserRole role = NavigationUtil.getRole(publicationNode.getCloud(), 
publicationNode, false);
          boolean isWebMaster = (role != null && 
SecurityUtil.isWebmaster(role));
+         boolean isChiefEditor = (role != null && 
SecurityUtil.isChiefEditor(role));
+
+         if (!isWebMaster && !isChiefEditor) {
+            String process_status 
=publicationNode.getStringValue("process_status");
+            
if("true".equalsIgnoreCase(PropertiesUtil.getProperty("newsletter.workflow.skip.freezing")))
 {
+               if (EditionStatus.INITIAL.value().equals(process_status)) {
+                  request.setAttribute("message", 
"confirm_send.skip.freezing"); 
+                  request.setAttribute("restriction", true);
+                  return mapping.findForward("confirm_send");
+               }
+            }
+            else 
if("true".equalsIgnoreCase(PropertiesUtil.getProperty("newsletter.workflow.skip.approving")))
 {
+               if (EditionStatus.INITIAL.value().equals(process_status) || 
EditionStatus.APPROVED.value().equals(process_status)) {
+                  request.setAttribute("message", 
"confirm_send.skip.approving"); 
+                  request.setAttribute("restriction", true);
+                  return mapping.findForward("confirm_send");
+               }
+            }
+         }
 
          if (NavigationUtil.getChildCount(publicationNode) > 0 && 
!isWebMaster) {
             return mapping.findForward("confirmationpage");
          }
-
          if (ServerUtil.isSingle()) {
             sendResults = publicationService.deliver(number);
             publicationService.setStatus(number, Publication.STATUS.DELIVERED);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to