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

Modified Files:
        NewsletterTreeItemRenderer.java 
Log Message:
CMSC-811 update publiser and some other test case.refactory tree item render.


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


Index: NewsletterTreeItemRenderer.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Portlets/portlets-newsletter/src/java/com/finalist/newsletter/tree/NewsletterTreeItemRenderer.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- NewsletterTreeItemRenderer.java     19 Feb 2008 21:13:55 -0000      1.13
+++ NewsletterTreeItemRenderer.java     17 Apr 2008 02:54:42 -0000      1.14
@@ -12,7 +12,6 @@
 import com.finalist.newsletter.util.NewsletterUtil;
 import com.finalist.tree.TreeElement;
 import com.finalist.tree.TreeModel;
-import com.finalist.util.module.ModuleUtil;
 
 public class NewsletterTreeItemRenderer implements NavigationTreeItemRenderer {
 
@@ -20,11 +19,15 @@
    protected static final String FEATURE_WORKFLOW = "workflowitem";
 
    public void addParentOption(NavigationRenderer renderer, TreeElement 
element, String parentId) {
-      element.addOption(renderer.createTreeOption("mail.png", 
"site.newsletter.new", "newsletter",
-            "../newsletter/NewsletterCreate.do?parentnewsletter=" + parentId));
+      element.addOption(
+            renderer.createTreeOption(
+                  "mail.png", "site.newsletter.new", "newsletter", 
op("NewsletterCreate", "parentnewsletter", parentId)
+            )
+      );
    }
 
    public TreeElement getTreeElement(NavigationRenderer renderer, Node 
parentNode, TreeModel model) {
+
       UserRole role = NavigationUtil.getRole(parentNode.getCloud(), 
parentNode, false);
       boolean secure = parentNode.getBooleanValue(PagesUtil.SECURE_FIELD);
 
@@ -35,25 +38,10 @@
       TreeElement element = renderer.createElement(parentNode, role, name, 
fragment, secure);
 
       if (SecurityUtil.isEditor(role)) {
-         element.addOption(renderer.createTreeOption("edit_defaults.png", 
"site.newsletter.edit", "newsletter",
-               "../newsletter/NewsletterEdit.do?number=" + id));
-         element.addOption(renderer.createTreeOption("mail.png", 
"site.newsletterpublication.new.blank", "newsletter",
-               "../newsletter/NewsletterPublicationCreate.do?parent=" + id + 
"&copycontent=false"));
-         element.addOption(renderer.createTreeOption("mail.png", 
"site.newsletterpublication.new.withcontent", "newsletter",
-               "../newsletter/NewsletterPublicationCreate.do?parent=" + id + 
"&copycontent=true"));
+         addEditorOptions(renderer, id, element);
 
          if (SecurityUtil.isWebmaster(role) || 
(model.getChildCount(parentNode) == 0 && !Publish.isPublished(parentNode))) {
-            element.addOption(renderer.createTreeOption("delete.png", 
"site.newsletter.remove", "newsletter",
-                  "../newsletter/NewsletterDelete.do?number=" + id));
-            boolean isPaused = NewsletterUtil.isPaused(Integer.parseInt(id));
-            if (isPaused == true) {
-               element.addOption(renderer.createTreeOption("resume.png", 
"site.newsletter.resume", "newsletter",
-                     "../newsletter/NewsletterResume.do?number=" + id));
-            }
-            if (isPaused == false) {
-               element.addOption(renderer.createTreeOption("pause.png", 
"site.newsletter.pause", "newsletter",
-                     "../newsletter/NewsletterPause.do?number=" + id));
-            }
+            addWebmasterOptions(renderer, id, element);
          }
 
          if (NavigationUtil.getChildCount(parentNode) >= 2) {
@@ -61,25 +49,70 @@
          }
 
          if (SecurityUtil.isChiefEditor(role)) {
+            addChiefEditorOptions(renderer, id, element);
+         }
+      }
+
+      element.addOption(
+            renderer.createTreeOption("rights.png", "site.page.rights", 
"../usermanagement/pagerights.jsp?number=" + id)
+      );
+
+      return element;
+   }
+
+   private void addChiefEditorOptions(NavigationRenderer renderer, String id, 
TreeElement element) {
             element.addOption(renderer.createTreeOption("cut.png", 
"site.page.cut", "javascript:cut('" + id + "');"));
             element.addOption(renderer.createTreeOption("copy.png", 
"site.page.copy", "javascript:copy('" + id + "');"));
             element.addOption(renderer.createTreeOption("paste.png", 
"site.page.paste", "javascript:paste('" + id + "');"));
          }
 
-         if (SecurityUtil.isWebmaster(role) && 
ModuleUtil.checkFeature(FEATURE_WORKFLOW)) {
-            element.addOption(renderer.createTreeOption("publish.png", 
"site.newsletter.publish", "newsletter", "../workflow/publish.jsp?number="
-                  + id));
-            element.addOption(renderer.createTreeOption("masspublish.png", 
"site.newsletter.masspublish", "newsletter",
-                  "../workflow/masspublish.jsp?number=" + id));
+   private void addWebmasterOptions(NavigationRenderer renderer, String id, 
TreeElement element) {
+      element.addOption(
+            renderer.createTreeOption("delete.png", "site.newsletter.remove", 
"newsletter",
+                  "../newsletter/NewsletterDelete.do?number=" + id
+            )
+      );
+      boolean isPaused = NewsletterUtil.isPaused(Integer.parseInt(id));
+      if (isPaused) {
+         element.addOption(
+               renderer.createTreeOption("resume.png", 
"site.newsletter.resume", "newsletter",
+                     "../newsletter/NewsletterResume.do?number=" + id
+               )
+         );
+      }
+      else {
+         element.addOption(
+               renderer.createTreeOption("pause.png", "site.newsletter.pause", 
"newsletter", 
+                     "../newsletter/NewsletterPause.do?number=" + id
+               )
+         );
          }
       }
-      element.addOption(renderer.createTreeOption("rights.png", 
"site.page.rights", "../usermanagement/pagerights.jsp?number=" + id));
 
-      return element;
+   private void addEditorOptions(NavigationRenderer renderer, String id, 
TreeElement element) {
+      element.addOption(
+            renderer.createTreeOption("edit_defaults.png", 
"site.newsletter.edit", "newsletter",
+                  "../newsletter/NewsletterEdit.do?number=" + id
+            )
+      );
+      element.addOption(
+            renderer.createTreeOption("mail.png", 
"site.newsletterpublication.new.blank", "newsletter",
+                  "../newsletter/NewsletterPublicationCreate.do?parent=" + id 
+ "&copycontent=false"
+            )
+      );
+      element.addOption(
+            renderer.createTreeOption("mail.png", 
"site.newsletterpublication.new.withcontent", "newsletter",
+                  "../newsletter/NewsletterPublicationCreate.do?parent=" + id 
+ "&copycontent=true"
+            )
+      );
    }
 
    public boolean showChildren(Node parentNode) {
-      return true; // Always show sub-items
+      return true; 
    }
 
+
+   private String op(String action, String param, String value) {
+      return String.format("../newsletter/%s.do?%s=%s", action, param, value);
+   }
 }
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to