mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-11-05 15:32:21 +00:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eca25addff | ||
|
|
0ea417ed37 | ||
|
|
fb811cdb2d | ||
|
|
9c0ac89015 | ||
|
|
1028b5c44b | ||
|
|
39d209a6a1 | ||
|
|
d9adbd60e1 | ||
|
|
cb07b26653 | ||
|
|
327129f021 | ||
|
|
afbaf11ff9 | ||
|
|
e779057f23 | ||
|
|
49ee9f8f29 | ||
|
|
213886cedd | ||
|
|
1be9a43bcd | ||
|
|
eceb7c0eb3 |
2
.github/workflows/ci.yml
vendored
2
.github/workflows/ci.yml
vendored
@@ -107,7 +107,7 @@ jobs:
|
||||
bash ./scripts/ci/init.sh
|
||||
bash ./scripts/ci/build.sh
|
||||
- name: "Run SAST Scan"
|
||||
uses: veracode/Veracode-pipeline-scan-action@v1.0.16
|
||||
uses: veracode/Veracode-pipeline-scan-action@v1.0.20
|
||||
with:
|
||||
vid: ${{ secrets.VERACODE_API_ID }}
|
||||
vkey: ${{ secrets.VERACODE_API_KEY }}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-automation-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-parent</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-governance-services-community-repo-parent</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-amps</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -134,6 +134,25 @@ function doclist_main()
|
||||
logger.log("doclist.lib.js - NodeRef: " + parsedArgs.nodeRef + " Query: " + query);
|
||||
|
||||
favourites = sanitizeJunkFavouriteKeys(favourites);
|
||||
if(query === null)
|
||||
{
|
||||
return {
|
||||
luceneQuery: "",
|
||||
paging: {
|
||||
totalRecords: 0,
|
||||
startIndex: 0
|
||||
},
|
||||
container: parsedArgs.rootNode,
|
||||
parent: null,
|
||||
onlineEditing: utils.moduleInstalled("org.alfresco.module.vti"),
|
||||
itemCount: {
|
||||
folders: 0,
|
||||
documents: 0
|
||||
},
|
||||
items: [],
|
||||
customJSON: slingshotDocLib.getJSON()
|
||||
};
|
||||
}
|
||||
|
||||
if(Object.keys(favourites).length === 0 && query === null)
|
||||
{
|
||||
|
||||
@@ -233,15 +233,15 @@ var Filters =
|
||||
filterParams.query = "+ID:\"" + parsedArgs.nodeRef + "\"";
|
||||
break;
|
||||
|
||||
case "tag":
|
||||
// Remove any trailing "/" character
|
||||
if (filterData.charAt(filterData.length - 1) == "/")
|
||||
{
|
||||
filterData = filterData.slice(0, -1);
|
||||
}
|
||||
filterQuery = this.constructPathQuery(parsedArgs);
|
||||
filterParams.query = filterQuery + " +PATH:\"/cm:taggable/cm:" + search.ISO9075Encode(filterData) + "/member\"";
|
||||
break;
|
||||
case "tag":
|
||||
// Remove any trailing "/" character
|
||||
if (filterData.charAt(filterData.length - 1) == "/")
|
||||
{
|
||||
filterData = filterData.slice(0, -1);
|
||||
}
|
||||
filterQuery = this.constructPathQuery(parsedArgs);
|
||||
filterParams.query = filterQuery + " +TAG:\"" + search.ISO9075Encode(filterData) + "\"";
|
||||
break;
|
||||
|
||||
case "category":
|
||||
// Remove any trailing "/" character
|
||||
@@ -249,8 +249,15 @@ var Filters =
|
||||
{
|
||||
filterData = filterData.slice(0, -1);
|
||||
}
|
||||
filterQuery = this.constructPathQuery(parsedArgs);
|
||||
filterParams.query = filterQuery + " +PATH:\"/cm:categoryRoot/cm:generalclassifiable" + Filters.iso9075EncodePath(filterData) + "/member\"";
|
||||
|
||||
var categoryNodeRef = this.getCategoryNodeRef(filterData);
|
||||
|
||||
if (categoryNodeRef && search.findNode(categoryNodeRef) != null) {
|
||||
filterParams.query = filterQuery + ' +@cm\\:categories:"' + categoryNodeRef + '"';
|
||||
} else {
|
||||
logger.warn("category filter: skipping invalid category node : " + categoryNodeRef);
|
||||
}
|
||||
filterParams.language = "fts-alfresco";
|
||||
break;
|
||||
|
||||
case "aspect":
|
||||
@@ -271,11 +278,24 @@ var Filters =
|
||||
{
|
||||
filterParams.query += " " + (Filters.TYPE_MAP[parsedArgs.type] || "");
|
||||
}
|
||||
|
||||
logger.warn("Final Query : " + filterParams.query);
|
||||
return filterParams;
|
||||
},
|
||||
|
||||
constructPathQuery: function constructPathQuery(parsedArgs)
|
||||
|
||||
getCategoryNodeRef: function(categoryName) {
|
||||
var results = search.luceneSearch(
|
||||
'PATH:"/cm:categoryRoot/cm:generalclassifiable//*" AND @cm\\:name:"' + categoryName + '"'
|
||||
);
|
||||
|
||||
if (results && results.length > 0) {
|
||||
return results[0].nodeRef.toString();
|
||||
}
|
||||
|
||||
logger.warn("Category not found: " + categoryName);
|
||||
return null;
|
||||
},
|
||||
|
||||
constructPathQuery: function(parsedArgs)
|
||||
{
|
||||
var pathQuery = "";
|
||||
if (parsedArgs.libraryRoot != companyhome || parsedArgs.nodeRef != "alfresco://company/home")
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -9,6 +9,6 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
</project>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<modules>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<organization>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-tests</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<developers>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo-packaging</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
|
||||
10
pom.xml
10
pom.xml
@@ -2,7 +2,7 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>Alfresco Community Repo Parent</name>
|
||||
|
||||
@@ -85,8 +85,8 @@
|
||||
<dependency.truezip.version>7.7.10</dependency.truezip.version>
|
||||
<dependency.poi.version>5.4.1</dependency.poi.version>
|
||||
<dependency.jboss.logging.version>3.5.0.Final</dependency.jboss.logging.version>
|
||||
<dependency.camel.version>4.10.2</dependency.camel.version> <!-- when bumping this version, please keep track/sync with included netty.io dependencies -->
|
||||
<dependency.netty.version>4.1.118.Final</dependency.netty.version> <!-- must be in sync with camels transitive dependencies, e.g.: netty-common -->
|
||||
<dependency.camel.version>4.15.0</dependency.camel.version> <!-- when bumping this version, please keep track/sync with included netty.io dependencies -->
|
||||
<dependency.netty.version>4.1.127.Final</dependency.netty.version> <!-- must be in sync with camels transitive dependencies, e.g.: netty-common -->
|
||||
<dependency.activemq.version>5.18.3</dependency.activemq.version>
|
||||
<dependency.apache-compress.version>1.27.1</dependency.apache-compress.version>
|
||||
<dependency.awaitility.version>4.2.2</dependency.awaitility.version>
|
||||
@@ -104,7 +104,7 @@
|
||||
<dependency.jakarta-annotation-api.version>3.0.0</dependency.jakarta-annotation-api.version>
|
||||
<dependency.jakarta-transaction-api.version>2.0.1</dependency.jakarta-transaction-api.version>
|
||||
<dependency.jakarta-jws-api.version>3.0.0</dependency.jakarta-jws-api.version>
|
||||
<dependency.jakarta-ee-mail.version>2.0.1</dependency.jakarta-ee-mail.version>
|
||||
<dependency.jakarta-ee-mail.version>2.0.2</dependency.jakarta-ee-mail.version>
|
||||
<dependency.jakarta-ee-activation.version>2.0.1</dependency.jakarta-ee-activation.version>
|
||||
<dependency.jakarta-ee-jms.version>3.1.0</dependency.jakarta-ee-jms.version>
|
||||
<dependency.java-ee-activation.version>1.2.0</dependency.java-ee-activation.version>
|
||||
@@ -154,7 +154,7 @@
|
||||
<connection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</connection>
|
||||
<developerConnection>scm:git:https://github.com/Alfresco/alfresco-community-repo.git</developerConnection>
|
||||
<url>https://github.com/Alfresco/alfresco-community-repo</url>
|
||||
<tag>23.7.0.2</tag>
|
||||
<tag>23.7.0.6</tag>
|
||||
</scm>
|
||||
|
||||
<distributionManagement>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
||||
@@ -33,8 +33,8 @@ import java.util.Map;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.owasp.html.HtmlPolicyBuilder;
|
||||
import org.owasp.html.PolicyFactory;
|
||||
import org.owasp.html.Sanitizers;
|
||||
import org.springframework.extensions.webscripts.Cache;
|
||||
import org.springframework.extensions.webscripts.Status;
|
||||
import org.springframework.extensions.webscripts.WebScriptRequest;
|
||||
@@ -78,7 +78,17 @@ public class CommentsPost extends AbstractCommentsWebScript
|
||||
}
|
||||
else
|
||||
{
|
||||
PolicyFactory policy = Sanitizers.FORMATTING.and(Sanitizers.LINKS);
|
||||
// Allowed HTML elements and attributes in comment content e.g. Text formatting ,Lists and Structure & Styling
|
||||
String[] allowedElements = {"b", "i", "u", "strong", "em", "ul", "ol", "li", "p", "br", "span", "div"};
|
||||
|
||||
PolicyFactory policy = new HtmlPolicyBuilder()
|
||||
.allowElements(allowedElements)
|
||||
.allowAttributes("style")
|
||||
.onElements("span", "div", "p", "ul")
|
||||
.allowStyling()
|
||||
.allowStandardUrlProtocols()
|
||||
.toFactory();
|
||||
|
||||
String safeContent = policy.sanitize(commentContent);
|
||||
json.replace("content", safeContent);
|
||||
}
|
||||
|
||||
@@ -1,92 +1,83 @@
|
||||
<#macro renderParent node indent=" ">
|
||||
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||
${indent}"parent":
|
||||
${indent}{
|
||||
<#if (node != rootNode) && node.parent??>
|
||||
<@renderParent node.parent indent+" " />
|
||||
</#if>
|
||||
${indent}"type": "${node.typeShort}",
|
||||
${indent}"isContainer": ${node.isContainer?string},
|
||||
${indent}"name": "${node.properties.name!""}",
|
||||
${indent}"title": "${node.properties.title!""}",
|
||||
${indent}"description": "${node.properties.description!""}",
|
||||
<#if node.properties.modified??>${indent}"modified": "${xmldate(node.properties.modified)}",</#if>
|
||||
<#if node.properties.modifier??>${indent}"modifier": "${node.properties.modifier}",</#if>
|
||||
${indent}"displayPath": "${node.displayPath!""}",
|
||||
${indent}"qnamePath": "${node.qnamePath!""}",
|
||||
<#if node.aspects??>
|
||||
${indent}"aspects":
|
||||
${indent}[
|
||||
<#list node.aspects as aspect>
|
||||
"${shortQName(aspect)}"
|
||||
<#if aspect_has_next>,</#if>
|
||||
</#list>
|
||||
|
||||
${indent}],
|
||||
</#if>
|
||||
${indent}"nodeRef": "${node.nodeRef}"
|
||||
${indent}},
|
||||
</#escape>
|
||||
</#macro>
|
||||
|
||||
<#macro pickerResultsJSON results>
|
||||
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||
{
|
||||
"data":
|
||||
{
|
||||
<#if parent??>
|
||||
<@renderParent parent />
|
||||
</#if>
|
||||
"items":
|
||||
[
|
||||
<#list results as row>
|
||||
{
|
||||
"type": "${row.item.typeShort}",
|
||||
"parentType": "${row.item.parentTypeShort!""}",
|
||||
"isContainer": ${row.item.isContainer?string},
|
||||
<#if row.container??>"container": "${row.container!""}",</#if>
|
||||
<#if row.item.properties?? && row.item.properties.name??>
|
||||
"name": "${row.item.properties.name!""}",
|
||||
<#else>
|
||||
"name": "${(row.item.name)!row.item?string!""}",
|
||||
</#if>
|
||||
<#if row.item.aspects??>
|
||||
"aspects": [
|
||||
<#list row.item.aspects as aspect>
|
||||
"${shortQName(aspect)}"
|
||||
<#if aspect_has_next>,</#if>
|
||||
</#list>
|
||||
],
|
||||
</#if>
|
||||
<#if row.item.properties??>
|
||||
"title":<#if row.item.properties["lnk:title"]??>"${row.item.properties["lnk:title"]}",
|
||||
<#elseif row.item.properties["ia:whatEvent"]??>"${row.item.properties["ia:whatEvent"]}",
|
||||
<#else>"${row.item.properties.title!""}",</#if>
|
||||
"description": "${row.item.properties.description!""}",
|
||||
<#else>
|
||||
"title": "${(row.item.name)!row.item?string!""}",
|
||||
"description": "",
|
||||
</#if>
|
||||
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
|
||||
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
|
||||
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
|
||||
<#if row.item.properties["ia:fromDate"]??>"fromDate": "${xmldate(row.item.properties["ia:fromDate"])}",</#if>
|
||||
"displayPath": "${row.item.displayPath!""}",
|
||||
"qnamePath": "${row.item.qnamePath!""}",
|
||||
<#if row.item.typeShort != "cm:person" && row.item.typeShort != "cm:authorityContainer">
|
||||
"userAccess":
|
||||
{
|
||||
"create": ${row.item.hasPermission("CreateChildren")?string},
|
||||
"edit": ${row.item.hasPermission("Write")?string},
|
||||
"delete": ${row.item.hasPermission("Delete")?string}
|
||||
},
|
||||
</#if>
|
||||
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
|
||||
"selectable" : ${row.selectable?string}</#if>
|
||||
}<#if row_has_next>,</#if>
|
||||
</#list>
|
||||
]
|
||||
}
|
||||
}
|
||||
</#escape>
|
||||
<#macro renderParent node indent=" ">
|
||||
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||
${indent}"parent":
|
||||
${indent}{
|
||||
<#if (node != rootNode) && node.parent??>
|
||||
<@renderParent node.parent indent+" " />
|
||||
</#if>
|
||||
${indent}"type": "${node.typeShort}",
|
||||
${indent}"isContainer": ${node.isContainer?string},
|
||||
${indent}"name": "${node.properties.name!""}",
|
||||
${indent}"title": "${node.properties.title!""}",
|
||||
${indent}"description": "${node.properties.description!""}",
|
||||
<#if node.properties.modified??>${indent}"modified": "${xmldate(node.properties.modified)}",</#if>
|
||||
<#if node.properties.modifier??>${indent}"modifier": "${node.properties.modifier}",</#if>
|
||||
${indent}"displayPath": "${node.displayPath!""}",
|
||||
${indent}"qnamePath": "${node.qnamePath!""}",
|
||||
<#if node.aspects??>
|
||||
${indent}"aspects":
|
||||
${indent}[
|
||||
<#list node.aspects as aspect>
|
||||
"${shortQName(aspect)}"
|
||||
<#if aspect_has_next>,</#if>
|
||||
</#list>
|
||||
|
||||
${indent}],
|
||||
</#if>
|
||||
${indent}"nodeRef": "${node.nodeRef}"
|
||||
${indent}},
|
||||
</#escape>
|
||||
</#macro>
|
||||
|
||||
<#macro pickerResultsJSON results>
|
||||
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||
{
|
||||
"data":
|
||||
{
|
||||
<#if parent??>
|
||||
<@renderParent parent />
|
||||
</#if>
|
||||
"items":
|
||||
[
|
||||
<#list results as row>
|
||||
{
|
||||
"type": "${row.item.typeShort}",
|
||||
"parentType": "${row.item.parentTypeShort!""}",
|
||||
"isContainer": ${row.item.isContainer?string},
|
||||
<#if row.container??>"container": "${row.container!""}",</#if>
|
||||
"name": "${row.item.properties.name!""}",
|
||||
<#if row.item.aspects??>
|
||||
"aspects": [
|
||||
<#list row.item.aspects as aspect>
|
||||
"${shortQName(aspect)}"
|
||||
<#if aspect_has_next>,</#if>
|
||||
</#list>
|
||||
],
|
||||
</#if>
|
||||
"title":<#if row.item.properties["lnk:title"]??>"${row.item.properties["lnk:title"]}",
|
||||
<#elseif row.item.properties["ia:whatEvent"]??>"${row.item.properties["ia:whatEvent"]}",
|
||||
<#else>"${row.item.properties.title!""}",</#if>
|
||||
"description": "${row.item.properties.description!""}",
|
||||
<#if row.item.properties.modified??>"modified": "${xmldate(row.item.properties.modified)}",</#if>
|
||||
<#if row.item.properties.modifier??>"modifier": "${row.item.properties.modifier}",</#if>
|
||||
<#if row.item.siteShortName??>"site": "${row.item.siteShortName}",</#if>
|
||||
<#if row.item.properties["ia:fromDate"]??>"fromDate": "${xmldate(row.item.properties["ia:fromDate"])}",</#if>
|
||||
"displayPath": "${row.item.displayPath!""}",
|
||||
"qnamePath": "${row.item.qnamePath!""}",
|
||||
<#if row.item.typeShort != "cm:person" && row.item.typeShort != "cm:authorityContainer">
|
||||
"userAccess":
|
||||
{
|
||||
"create": ${row.item.hasPermission("CreateChildren")?string},
|
||||
"edit": ${row.item.hasPermission("Write")?string},
|
||||
"delete": ${row.item.hasPermission("Delete")?string}
|
||||
},
|
||||
</#if>
|
||||
"nodeRef": "${row.item.nodeRef}"<#if row.selectable?exists>,
|
||||
"selectable" : ${row.selectable?string}</#if>
|
||||
}<#if row_has_next>,</#if>
|
||||
</#list>
|
||||
]
|
||||
}
|
||||
}
|
||||
</#escape>
|
||||
</#macro>
|
||||
@@ -7,7 +7,7 @@
|
||||
<parent>
|
||||
<groupId>org.alfresco</groupId>
|
||||
<artifactId>alfresco-community-repo</artifactId>
|
||||
<version>23.7.0.2</version>
|
||||
<version>23.7.0.6</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
|
||||
Reference in New Issue
Block a user