ALF-2187 - Data list - cm:attatchment not being displayed correctly

ALF-2190 - Datalists: "New List" button should be disabled for users who do not have write permission
Modified sample To Do list model to add attachments. Data Lists now handle associations to many endpoints correctly. Files and folders linked to appropriate non-site details page. CSS changes following UX review session.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19604 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mike Hatfield
2010-03-26 09:16:04 +00:00
parent 9fb7178208
commit d10238b8c4
4 changed files with 81 additions and 35 deletions

View File

@@ -113,27 +113,25 @@ var Evaluator =
objData.displayValue = obj.displayName; objData.displayValue = obj.displayName;
objData.metadata = obj.userName; objData.metadata = obj.userName;
} }
else if (type == "datetime" || type == "date") else if (type == "cm:folder")
{ {
objData.metadata = type; obj = Evaluator.getContentObject(value);
}
else if (node.isSubType("cm:folder"))
{
obj = getContentObject(node.nodeRef);
if (obj == null) if (obj == null)
{ {
return false; return false;
} }
objData.displayValue = obj.displayPath.substring(companyhome.name.length() + 1); objData.displayValue = obj.displayPath.substring(companyhome.name.length() + 1);
objData.metadata = "container";
} }
else if (node.isSubType("cm:object")) else if (type == "cm:cmobject" || type == "cm:content")
{ {
obj = getContentObject(node.nodeRef); obj = Evaluator.getContentObject(value);
if (obj == null) if (obj == null)
{ {
return false; return false;
} }
objData.displayValue = obj.properties["cm:name"]; objData.displayValue = obj.properties["cm:name"];
objData.metadata = obj.isContainer ? "container" : "document";
} }
return true; return true;
}, },
@@ -176,7 +174,9 @@ var Evaluator =
{ {
var isAssoc = k.indexOf("assoc") == 0, var isAssoc = k.indexOf("assoc") == 0,
value = formData[k].value, value = formData[k].value,
values,
type = isAssoc ? objDefinitions[k].endpointType : objDefinitions[k].dataType, type = isAssoc ? objDefinitions[k].endpointType : objDefinitions[k].dataType,
endpointMany = isAssoc ? objDefinitions[k].endpointMany : false,
objData = objData =
{ {
type: type type: type
@@ -185,12 +185,34 @@ var Evaluator =
if (value instanceof java.util.Date) if (value instanceof java.util.Date)
{ {
objData.value = utils.toISO8601(value); objData.value = utils.toISO8601(value);
objData.displayValue = objData.value;
nodeData[k] = objData;
}
else if (endpointMany)
{
if (value.length() > 0)
{
values = value.split(",");
nodeData[k] = [];
for each (value in values)
{
var objLoop =
{
type: objData.type,
value: value,
displayValue: value
};
if (Evaluator.decorateFieldData(objLoop, node))
{
nodeData[k].push(objLoop);
}
}
}
} }
else else
{ {
// java.util.List instances are returned from ScriptFormData.java as Strings
objData.value = value; objData.value = value;
}
objData.displayValue = objData.value; objData.displayValue = objData.value;
if (Evaluator.decorateFieldData(objData, node)) if (Evaluator.decorateFieldData(objData, node))
@@ -198,6 +220,7 @@ var Evaluator =
nodeData[k] = objData; nodeData[k] = objData;
} }
} }
}
return( return(
{ {

View File

@@ -40,8 +40,24 @@
"itemData": "itemData":
{ {
<#list item.nodeData?keys as key> <#list item.nodeData?keys as key>
<#assign data = item.nodeData[key]> <#assign itemData = item.nodeData[key]>
"${key}": "${key}":
<#if itemData?is_sequence>
[
<#list itemData as data>
<@renderData data /><#if data_has_next>,</#if>
</#list>
]
<#else>
<@renderData itemData />
</#if><#if key_has_next>,</#if>
</#list>
}
</#escape>
</#macro>
<#macro renderData data>
<#escape x as jsonUtils.encodeJSONString(x)>
{ {
<#if data.value?is_boolean> <#if data.value?is_boolean>
"value": ${data.value?string}, "value": ${data.value?string},
@@ -60,8 +76,6 @@
<#else> <#else>
"displayValue": "${data.displayValue}" "displayValue": "${data.displayValue}"
</#if> </#if>
}<#if key_has_next>,</#if>
</#list>
} }
</#escape> </#escape>
</#macro> </#macro>

View File

@@ -5,7 +5,12 @@
"title": "${list.properties.title!list.name}", "title": "${list.properties.title!list.name}",
"description": "${list.properties.description!""}", "description": "${list.properties.description!""}",
"nodeRef": "${list.nodeRef}", "nodeRef": "${list.nodeRef}",
"itemType": "${list.properties["dl:dataListItemType"]!""}" "itemType": "${list.properties["dl:dataListItemType"]!""}",
"permissions":
{
"edit": ${list.hasPermission("Write")?string},
"delete": ${list.hasPermission("Delete")?string}
}
} }
</#escape> </#escape>
</#macro> </#macro>

View File

@@ -2,6 +2,10 @@
<#escape x as jsonUtils.encodeJSONString(x)> <#escape x as jsonUtils.encodeJSONString(x)>
{ {
"container": "${datalists.container.nodeRef?string}", "container": "${datalists.container.nodeRef?string}",
"permissions":
{
"create": ${datalists.container.hasPermission("CreateChildren")?string}
},
"datalists": "datalists":
[ [
<#list datalists.lists as list> <#list datalists.lists as list>