PlanetJava
Custom Search

java-ofbiz-scm
[Top] [All Lists]

svn commit: r1085269 - in /ofbiz/trunk/applications/product: src/org/ofb

Subject: svn commit: r1085269 - in /ofbiz/trunk/applications/product: src/org/ofbiz/product/category/CategoryServices.java webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy webapp/catalog/category/CategoryTree.ftl
Date: Fri, 25 Mar 2011 07:43:19 -0000
Author: hansbak
Date: Fri Mar 25 07:43:18 2011
New Revision: 1085269
URL: http://svn.apache.org/viewvc?rev=1085269&view=rev
Log:
update of the category tree in the catalog, which now also works for large 
trees. IE and blankscreen problems solved. sort by sequencenum, do not show 
rollup expired dates
Modified:
ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryServices.java
ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy
    ofbiz/trunk/applications/product/webapp/catalog/category/CategoryTree.ftl
Modified: 
ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryServices.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryServices.java?rev=1085269&r1=1085268&r2=1085269&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryServices.java
 (original)
+++ 
ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryServices.java
 Fri Mar 25 07:43:18 2011
@@ -406,6 +406,7 @@ public class CategoryServices {
         Delegator delegator = (Delegator) request.getAttribute("delegator");
         String productCategoryId = request.getParameter("productCategoryId");
         String isCatalog = request.getParameter("isCatalog");
+        String isCategoryType = request.getParameter("isCategoryType");
         String entityName = null;
         String primaryKeyName = null;
@@ -423,14 +424,20 @@ public class CategoryServices {
         try {
             GenericValue category = delegator.findByPrimaryKey(entityName 
,UtilMisc.toMap(primaryKeyName, productCategoryId));
             if (UtilValidate.isNotEmpty(category)) {
-                if (isCatalog.equals("true")) {
+                if (isCatalog.equals("true") && 
isCategoryType.equals("false")) {
                     CategoryWorker.getRelatedCategories(request, 
"ChildCatalogList", CatalogWorker.getCatalogTopCategoryId(request, 
productCategoryId), true);
-                    childOfCats = (List<GenericValue>) 
request.getAttribute("ChildCatalogList");
+                    childOfCats = EntityUtil.filterByDate((List<GenericValue>) 
request.getAttribute("ChildCatalogList"));
+                    
+                } else if(isCatalog.equals("false") && 
isCategoryType.equals("false")){
+                    List<String> sortList = 
org.ofbiz.base.util.UtilMisc.toList("sequenceNum", "productCategoryId", 
"parentProductCategoryId");
+                    childOfCats = 
EntityUtil.filterByDate(delegator.findByAnd("ProductCategoryRollup", 
UtilMisc.toMap(
+                            "parentProductCategoryId", productCategoryId ), 
sortList));
                 } else {
-                    childOfCats = delegator.findByAnd("ProductCategoryRollup", 
UtilMisc.toMap(
-                            "parentProductCategoryId", productCategoryId ));
+                    List<String> sortList = 
org.ofbiz.base.util.UtilMisc.toList("sequenceNum", "prodCatalogCategoryTypeId", 
"productCategoryId");
+                    childOfCats = 
EntityUtil.filterByDate(delegator.findByAnd("ProdCatalogCategory", 
UtilMisc.toMap("prodCatalogId", productCategoryId), sortList));
                 }
                 if (UtilValidate.isNotEmpty(childOfCats)) {
+                       
                     for (GenericValue childOfCat : childOfCats ) {
                         Object catId = null;
@@ -443,8 +450,8 @@ public class CategoryServices {
                         List<GenericValue> childList = null;
                         // Get the child list of chosen category
-                        childList = 
delegator.findByAnd("ProductCategoryRollup", UtilMisc.toMap(
-                                    "parentProductCategoryId", catId));
+                        childList = 
EntityUtil.filterByDate(delegator.findByAnd("ProductCategoryRollup", 
UtilMisc.toMap(
+                                    "parentProductCategoryId", catId)));
                         // Get the chosen category information for the 
categoryContentWrapper
                         GenericValue cate = 
delegator.findByPrimaryKey("ProductCategory" 
,UtilMisc.toMap("productCategoryId",catId));
@@ -458,7 +465,7 @@ public class CategoryServices {
                         CategoryContentWrapper categoryContentWrapper = new 
CategoryContentWrapper(cate, request);
                         if 
(UtilValidate.isNotEmpty(categoryContentWrapper.get(catNameField))) {
-                            dataMap.put("title", 
categoryContentWrapper.get(catNameField)+"["+catId+"]");
+                            dataMap.put("title", 
categoryContentWrapper.get(catNameField)+" "+"["+catId+"]");
                         } else {
                             dataMap.put("title", catId);
                         }
Modified: 
ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy?rev=1085269&r1=1085268&r2=1085269&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy
 (original)
+++ 
ofbiz/trunk/applications/product/webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy
 Fri Mar 25 07:43:18 2011
@@ -31,46 +31,37 @@ import javolution.util.FastList.*;
 import org.ofbiz.entity.*;
 import java.util.List;
-// Put the result of CategoryWorker.getRelatedCategories into the fillTree 
function as attribute.
-// The fillTree function will return the complete list of category of given 
catalog.
-// PLEASE NOTE : The structure of the complete list of fillTree function is 
according to the JSON_DATA plugin of the jsTree.
-
-List fillTree(rootCat) {
-    if (rootCat) {
-        rootCat.sort{ it.productCategoryId }
-        def listTree = FastList.newInstance();
-        for (root in rootCat) {
-            preCatChilds = delegator.findByAnd("ProductCategoryRollup", 
["parentProductCategoryId": root.productCategoryId]);
-            catChilds = 
EntityUtil.getRelated("CurrentProductCategory",preCatChilds);
-            def childList = FastList.newInstance();
-            def rootMap = FastMap.newInstance();
-            category = delegator.findByPrimaryKey("ProductCategory", 
["productCategoryId": root.productCategoryId]);
-            categoryContentWrapper = new CategoryContentWrapper(category, 
request);
-            context.title = categoryContentWrapper.CATEGORY_NAME;
-            categoryDescription = categoryContentWrapper.DESCRIPTION;
+// Put the result of CategoryWorker.getRelatedCategories into the 
separateRootType function as attribute.
+// The separateRootType function will return the list of category of given 
catalog.
+// PLEASE NOTE : The structure of the list of separateRootType function is 
according to the JSON_DATA plugin of the jsTree.
+
+completedTree =  FastList.newInstance();
+
+List separateRootType(roots) {
+    if(roots) {
+         prodRootTypeTree = FastList.newInstance();
+         def i = 0;
+        for(root in roots) {
+            prodCatalogMap2 = FastMap.newInstance();
+             prodCatalogTree2 = FastList.newInstance();
+            prodCatalogCategories = FastList.newInstance();
+            prodCatalog = root.getRelatedOne("ProductCategory");
+            
+            productCat = root.getRelatedOne("ProductCategory");
+            prodCatalogId = productCat.getString("productCategoryId");
+            prodCatalogMap2.put("productCategoryId", prodCatalogId);
+            prodCatalogMap2.put("categoryName", 
productCat.getString("categoryName"));
+            prodCatalogMap2.put("isCatalog", false)
+            prodCatalogMap.put("isCategoryType", true);
-            if (categoryContentWrapper.CATEGORY_NAME) {
-                rootMap["categoryName"] = categoryContentWrapper.CATEGORY_NAME;
-            } else {
-                rootMap["categoryName"] = root.categoryName;
-            }
-            if (categoryContentWrapper.DESCRIPTION) {
-                rootMap["categoryDescription"] = 
categoryContentWrapper.DESCRIPTION;
-            } else {
-                rootMap["categoryDescription"] = root.description;
-            }
-            rootMap["productCategoryId"] = root.productCategoryId;
-            rootMap["child"] = catChilds;
-            rootMap["isCatalog"] = false;
-            listTree.add(rootMap);
+            i++;
+            prodRootTypeTree.add(prodCatalogMap2);
         }
-        return listTree;
+        return prodRootTypeTree;
     }
 }
-completedTree =  FastList.newInstance();
-
 // Get the Catalogs
 prodCatalogs = delegator.findByAnd("ProdCatalog");
@@ -83,14 +74,14 @@ if (prodCatalogs.size() > 0) {
         prodCatalogMap.put("productCategoryId", prodCatalogId);
         prodCatalogMap.put("categoryName", 
prodCatalog.getString("catalogName"));
         prodCatalogMap.put("isCatalog", true);
+        prodCatalogMap.put("isCategoryType", false);
+        
+        prodCatalogCategories = 
EntityUtil.filterByDate(delegator.findByAnd("ProdCatalogCategory", 
["prodCatalogId" : prodCatalog.prodCatalogId]));
-        CategoryWorker.getRelatedCategories(request, "CatalogList_"+i, 
CatalogWorker.getCatalogTopCategoryId(request, prodCatalogId), true);
-        categoryList = null;
-        categoryList = request.getAttribute("CatalogList_"+i);
         prodCatalogTree = FastList.newInstance();
-        if (categoryList) {
-            prodCatalogTree = fillTree(categoryList);
+        if (prodCatalogCategories) {
+            prodCatalogTree = separateRootType(prodCatalogCategories);
             prodCatalogMap.put("child", prodCatalogTree);
             completedTree.add(prodCatalogMap);
         }
Modified: 
ofbiz/trunk/applications/product/webapp/catalog/category/CategoryTree.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/webapp/catalog/category/CategoryTree.ftl?rev=1085269&r1=1085268&r2=1085269&view=diff
==============================================================================
--- ofbiz/trunk/applications/product/webapp/catalog/category/CategoryTree.ftl 
(original)
+++ ofbiz/trunk/applications/product/webapp/catalog/category/CategoryTree.ftl 
Fri Mar 25 07:43:18 2011
@@ -36,7 +36,7 @@ var rawdata = [
                 <#list rootCat as root>
                     {
                     "data": {"title" : unescapeHtmlText("<#if 
root.categoryName?exists>${root.categoryName?js_string} 
[${root.productCategoryId}]<#else>${root.productCategoryId?js_string}</#if>"), 
"attr": {"onClick" : 
"window.location.href='<@ofbizUrl>/EditProdCatalog?prodCatalogId=${root.productCategoryId}</@ofbizUrl>';
 return false;"}},
-                    "attr": {"id" : "${root.productCategoryId}", "rel" : 
"root", "isCatalog" : "${root.isCatalog?string}"}
+                    "attr": {"id" : "${root.productCategoryId}", "rel" : 
"root", "isCatalog" : "${root.isCatalog?string}" ,"isCategoryType" : 
"${root.isCategoryType?string}"}
                     <#if root.child?exists>
                     ,"state" : "closed"
                     </#if>
@@ -68,12 +68,24 @@ var rawdata = [
                           "ajax" : { "url" : 
"<@ofbizUrl>getChild</@ofbizUrl>", "type" : "POST",
                           "data" : function (n) {
                             return { 
+                                "isCategoryType" :  n.attr ? 
n.attr("isCatalog").replace("node_","") : 1 ,
                                 "isCatalog" :  n.attr ? 
n.attr("isCatalog").replace("node_","") : 1 ,
                                 "productCategoryId" : n.attr ? 
n.attr("id").replace("node_","") : 1
                         }; 
                     }
                 }
-            }
+            },
+            "types" : {
+             "valid_children" : [ "root" ],
+             "types" : {
+                 "CATEGORY" : {
+                     "icon" : { 
+                         "image" : 
"/images/jquery/plugins/jsTree/themes/apple/d.png",
+                         "position" : "10px40px"
+                     }
+                 }
+             }
+         }
         });
     });
   }
msgmiddle
<Prev in Thread] Current Thread [Next in Thread>
  • svn commit: r1085269 - in /ofbiz/trunk/applications/product: src/org/ofbiz/product/category/CategoryServices.java webapp/catalog/WEB-INF/actions/category/CategoryTree.groovy webapp/catalog/category/CategoryTree.ftl,
Current Sitemap | © 2012 planetjava | Contact | Privacy Policy