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 + "©content=false")); - element.addOption(renderer.createTreeOption("mail.png", "site.newsletterpublication.new.withcontent", "newsletter", - "../newsletter/NewsletterPublicationCreate.do?parent=" + id + "©content=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 + "©content=false" + ) + ); + element.addOption( + renderer.createTreeOption("mail.png", "site.newsletterpublication.new.withcontent", "newsletter", + "../newsletter/NewsletterPublicationCreate.do?parent=" + id + "©content=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