Author: fpunt
Date: 2010-08-02 16:28:21 +0200 (Mon, 02 Aug 2010)
New Revision: 43030

Modified:
   
CMSContainer/trunk/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/tree/SiteTreeItemRenderer.java
Log:
[CMSC-1723] Sort sites in navigation tree

Modified: 
CMSContainer/trunk/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/tree/SiteTreeItemRenderer.java
===================================================================
--- 
CMSContainer/trunk/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/tree/SiteTreeItemRenderer.java
    2010-08-02 14:28:02 UTC (rev 43029)
+++ 
CMSContainer/trunk/CMSContainer/cmsc/sitemanagement/src/java/com/finalist/cmsc/navigation/tree/SiteTreeItemRenderer.java
    2010-08-02 14:28:21 UTC (rev 43030)
@@ -9,7 +9,12 @@
 */
 package com.finalist.cmsc.navigation.tree;
 
+import net.sf.mmapps.modules.cloudprovider.CloudProviderFactory;
+
+import org.mmbase.bridge.Cloud;
 import org.mmbase.bridge.Node;
+import org.mmbase.bridge.NodeList;
+import org.mmbase.security.Rank;
 
 import com.finalist.cmsc.navigation.*;
 import com.finalist.cmsc.security.SecurityUtil;
@@ -65,12 +70,34 @@
                    "../workflow/masspublish.jsp?number=" + id));
           }
        }
+       Cloud cloud = parentNode.getCloud();
+       if (cloud.getUser().getRank() == Rank.ADMIN) {
+        int pos = cloud.getNode(id).getIntValue("pos");
+        if(!firstSite(cloud, pos)) {
+                 element.addOption(renderer.createTreeOption("up.png", 
"site.page.sorting.up",
+                       "javascript:siteSortUp('"+id+"');"));
+        }
+        if(!lastSite(cloud, pos)) {
+                 element.addOption(renderer.createTreeOption("down.png", 
"site.page.sorting.down",
+                       "javascript:siteSortDown('"+id+"');"));
+        }
+       }
        element.addOption(renderer.createTreeOption("rights.png", 
"site.page.rights",
              "../usermanagement/pagerights.jsp?number=" + id));
        
        return element;
     }
 
+       private boolean firstSite(Cloud cloud, int pos) {
+               NodeList list = 
cloud.getNodeManager(SiteUtil.SITE).getList("pos < "+pos, null, null);
+               return (list.size() == 0);
+       }
+
+       private boolean lastSite(Cloud cloud, int pos) {
+               NodeList list = 
cloud.getNodeManager(SiteUtil.SITE).getList("pos > "+pos, null, null);
+               return (list.size() == 0);
+       }
+
        public void addParentOption(NavigationRenderer renderer, TreeElement 
element, String parentId) {
                // has no parent
        }

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to