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

Modified Files:
        NewsletterPublicationTreeItemRenderer.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/tree
See also: http://www.mmbase.org/jira/browse/CMSC-1178


Index: NewsletterPublicationTreeItemRenderer.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/tree/NewsletterPublicationTreeItemRenderer.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- NewsletterPublicationTreeItemRenderer.java  10 Dec 2008 09:47:07 -0000      
1.31
+++ NewsletterPublicationTreeItemRenderer.java  11 Dec 2008 06:55:37 -0000      
1.32
@@ -39,10 +39,13 @@
 
       String id = String.valueOf(parentNode.getNumber());
       TreeElement element = renderer.createElement(parentNode, role, name, 
fragment, secure);
+
       String process_status = 
NewsletterPublicationUtil.getEditionStatus(Integer.valueOf(id));
+      if (SecurityUtil.isWriter(role)) {
       if (SecurityUtil.isEditor(role)) {
             element.addOption(renderer.createTreeOption("edit_defaults.png", 
"site.newsletteredition.edit", "newsletter",
                   "../newsletter/NewsletterPublicationEdit.do?number=" + id));
+         }
          boolean isSingleApplication = true;
          boolean isPublished;
          isSingleApplication = ServerUtil.isSingle();
@@ -56,7 +59,7 @@
 
          log.debug("Publication " + parentNode.getNumber() + "'s publication 
status:" + isPublished + " in single:" + isSingleApplication);
 
-         if (SecurityUtil.isWebmaster(role) || 
(model.getChildCount(parentNode) == 0 && !isPublished)) {
+         if (SecurityUtil.isWebmaster(role) || 
(model.getChildCount(parentNode) == 0 && !isPublished && 
SecurityUtil.isEditor(role))) {
             element.addOption(renderer.createTreeOption("delete.png", 
"site.newsletteredition.remove", "newsletter",
                      "../newsletter/NewsletterPublicationDelete.do?number=" + 
id));
          }
@@ -64,15 +67,14 @@
                "../newsletter/NewsletterPublicationPublish.do?number=" + id));
          element.addOption(renderer.createTreeOption("type/email_go.png", 
"site.newsletteredition.test", "newsletter",
                "../newsletter/NewsletterPublicationTest.do?number=" + id));
+
+         if (SecurityUtil.isChiefEditor(role) && 
ModuleUtil.checkFeature(FEATURE_WORKFLOW)) {
          if (NavigationUtil.getChildCount(parentNode) >= 2) {
             element.addOption(renderer.createTreeOption("reorder.png", 
"site.page.reorder", "reorder.jsp?parent=" + id));
          }
-
-         if (SecurityUtil.isWebmaster(role) && 
ModuleUtil.checkFeature(FEATURE_WORKFLOW)) {
             element.addOption(renderer.createTreeOption("publish.png", 
"site.newsletteredition.publish", "newsletter",
                      "../workflow/publish.jsp?number=" + id));
          }
-         if (SecurityUtil.isWebmaster(role)) {
             if(EditionStatus.INITIAL.value().equals(process_status)) {
                
element.addOption(renderer.createTreeOption("status_finished.png", 
"site.newsletteredition.freeze", "newsletter",
                      "../newsletter/NewsletterEditionFreeze.do?number=" + id));
@@ -81,18 +83,16 @@
                
element.addOption(renderer.createTreeOption("status_approved.png", 
"site.newsletteredition.defrost", "newsletter",
                   "../newsletter/NewsletterEditionDefrost.do?number=" + id));
             }
-         }
-      }
-      if(SecurityUtil.isWebmaster(role)){
+            
          String status = 
NewsletterPublicationUtil.getEditionStatus(Integer.parseInt(id));
          if("approved".equalsIgnoreCase(status)){
             element.addOption(renderer.createTreeOption("status_onlive.png", 
"site.newsletteredition.revokeapproval", 
"newsletter","../newsletter/NewsletterEditionRevoke.do?number=" + id));
-         }else if("frozen".equalsIgnoreCase(status)){
+         }
+         else if("frozen".equalsIgnoreCase(status)){
             
element.addOption(renderer.createTreeOption("status_published.png", 
"site.newsletteredition.approve", 
"newsletter","../newsletter/NewsletterEditionApprove.do?number=" + id));
          }
       }
       element.addOption(renderer.createTreeOption("rights.png", 
"site.page.rights", "../usermanagement/pagerights.jsp?number=" + id));
-
       return element;
    }
 
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to