ALFCOM-2917 - Rules folders showing up in DocLib. Also made treenode data webscript much faster when checking for subfolders.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14477 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mike Hatfield
2009-05-29 14:28:23 +00:00
parent 7531e57a23
commit ababef935d
4 changed files with 20 additions and 14 deletions

View File

@@ -22,8 +22,8 @@
"onlineEditing": ${doclist.onlineEditing?string},
"itemCounts":
{
"folders": ${(itemCount.folders!0)?string},
"documents": ${(itemCount.documents!0)?string}
"folders": ${(itemCount.folders!0)?c},
"documents": ${(itemCount.documents!0)?c}
}
},
"items":

View File

@@ -23,6 +23,7 @@ function getFilterParams(filter, parsedArgs)
var filterQuery = "+PATH:\"" + parsedArgs.rootNode.qnamePath + "//*\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}thumbnail\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}folder\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}systemfolder\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}forums\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}forum\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}topic\"";
@@ -75,6 +76,7 @@ function getFilterParams(filter, parsedArgs)
filterQuery += " -ASPECT:\"{http://www.alfresco.org/model/content/1.0}workingcopy\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}thumbnail\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}folder\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}systemfolder\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}forums\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}forum\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}topic\"";
@@ -107,6 +109,7 @@ function getFilterParams(filter, parsedArgs)
default:
var filterQuery = "+PATH:\"" + parsedArgs.parentNode.qnamePath + "/*\"";
filterQuery += " -ASPECT:\"{http://www.alfresco.org/model/content/1.0}workingcopy\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/content/1.0}systemfolder\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}forums\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}forum\"";
filterQuery += " -TYPE:\"{http://www.alfresco.org/model/forum/1.0}topic\"";

View File

@@ -11,12 +11,12 @@ function getTreenode(siteId, path)
try
{
var items = new Array(),
hasSubfolders,
ignoredTypes =
{
"{http://www.alfresco.org/model/forum/1.0}forums": true,
"{http://www.alfresco.org/model/forum/1.0}forum": true,
"{http://www.alfresco.org/model/forum/1.0}topic": true,
"{http://www.alfresco.org/model/forum/1.0}post": true
"{http://www.alfresco.org/model/content/1.0}systemfolder": true
};
// Use helper function to get the arguments
@@ -31,7 +31,13 @@ function getTreenode(siteId, path)
{
if (item.isSubType("cm:folder") && !(item.type in ignoredTypes))
{
items.push(item);
hasSubfolders = item.childrenByXPath("*[subtypeOf('cm:folder') and not(subtypeOf('fm:forum')) and not(subtypeOf('cm:systemfolder'))]").length > 0;
items.push(
{
node: item,
hasSubfolders: hasSubfolders
});
}
}
@@ -53,5 +59,5 @@ function getTreenode(siteId, path)
/* Sort the results by case-insensitive name */
function sortByName(a, b)
{
return (b.name.toLowerCase() > a.name.toLowerCase() ? -1 : 1);
return (b.node.name.toLowerCase() > a.node.name.toLowerCase() ? -1 : 1);
}

View File

@@ -3,23 +3,20 @@
"totalResults": ${treenode.items?size?c},
"items":
[
<#list treenode.items as t>
<#assign hasChildren = false>
<#list t.children as c>
<#if c.isContainer><#assign hasChildren = true><#break></#if>
</#list>
<#list treenode.items as item>
<#assign t = item.node>
{
"nodeRef": "${t.nodeRef}",
"name": "${t.name}",
"description": "${(t.properties.description!"{}")}",
"hasChildren": ${hasChildren?string},
"description": "${(t.properties.description!"")}",
"hasChildren": ${item.hasSubfolders?string},
"userAccess":
{
"create": ${t.hasPermission("CreateChildren")?string},
"edit": ${t.hasPermission("Write")?string},
"delete": ${t.hasPermission("Delete")?string}
}
}<#if t_has_next>,</#if>
}<#if item_has_next>,</#if>
</#list>
]
}