Merged V3.2E to HEAD

17635: Complete fix for ETHREEOH-2879 - user with missing first/last name able to use Discussions, Blogs, Links etc. in Share.
   17637: Fix regression from r17601: Favourite sites in header menu.
   17638: Fix ETHREEOH-3610 - upgrade Enterprise 2.x -> 3.2 (personUsagePatch)
   17641: ETHREEOH-3612 Security Issue : DeploymentTarget uses String to represent passwords
   17642: Fix for ETHREEOH-3482 - Impossible to delete content from its details page.
          - regression due to the "AbortProcessingException" changes added a while back.
   17660: Minor functional fixes for mobile app and cleanup
   17663: Fixed ETHREEOH-3664 "'My Tasks' dashlet could not load task list if a user was invited to a private site"
            - When webscript accessed a private site undefined was returned so the title and description couldn't be displayed, now the values are store on the invite task instead.
   17665: Fix up compile errors from r17663 - also clean up old code to coding standards in related invite classes.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18162 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2010-01-20 10:51:08 +00:00
parent d6697e9223
commit e98156995f
8 changed files with 216 additions and 219 deletions

View File

@@ -9,8 +9,8 @@
"avatarRef": "${person.assocs["cm:avatar"][0].nodeRef?string}", "avatarRef": "${person.assocs["cm:avatar"][0].nodeRef?string}",
</#if> </#if>
"username": "${person.properties["cm:userName"]}", "username": "${person.properties["cm:userName"]}",
"firstName": "${person.properties["cm:firstName"]}", "firstName": "${person.properties["cm:firstName"]!""}",
"lastName": "${person.properties["cm:lastName"]}" "lastName": "${person.properties["cm:lastName"]!""}"
}, },
</#escape> </#escape>
</#macro> </#macro>
@@ -27,9 +27,7 @@
</#macro> </#macro>
<#-- <#--
This template renders a blog post. This template renders a blog post.
--> -->
<#macro blogpostJSON item> <#macro blogpostJSON item>
<#escape x as jsonUtils.encodeJSONString(x)> <#escape x as jsonUtils.encodeJSONString(x)>

View File

@@ -7,8 +7,8 @@
"avatarRef": "${person.assocs["cm:avatar"][0].nodeRef?string}", "avatarRef": "${person.assocs["cm:avatar"][0].nodeRef?string}",
</#if> </#if>
"username": "${person.properties["cm:userName"]}", "username": "${person.properties["cm:userName"]}",
"firstName": "${person.properties["cm:firstName"]}", "firstName": "${person.properties["cm:firstName"]!""}",
"lastName": "${person.properties["cm:lastName"]}" "lastName": "${person.properties["cm:lastName"]!""}"
}, },
</#escape> </#escape>
</#macro> </#macro>

View File

@@ -7,8 +7,8 @@
"avatarRef": "${person.assocs["cm:avatar"][0].nodeRef?string}", "avatarRef": "${person.assocs["cm:avatar"][0].nodeRef?string}",
</#if> </#if>
"username": "${person.properties["cm:userName"]}", "username": "${person.properties["cm:userName"]}",
"firstName": "${person.properties["cm:firstName"]}", "firstName": "${person.properties["cm:firstName"]!""}",
"lastName": "${person.properties["cm:lastName"]}" "lastName": "${person.properties["cm:lastName"]!""}"
}, },
</#macro> </#macro>

View File

@@ -10,11 +10,11 @@
{ {
"authorityType" : "${authority.authorityType}", "authorityType" : "${authority.authorityType}",
"shortName" : "${authority.shortName}", "shortName" : "${authority.shortName}",
"fullName" : "${authority.fullName}", "fullName" : "${authority.fullName!""}",
"displayName" : "${authority.displayName}", "displayName" : "${authority.displayName}",
"url" : "${url.serviceContext + "/api/groups/" + authority.shortName }" "url" : "${url.serviceContext + "/api/groups/" + authority.shortName }"
}, },
"url" : "${url.serviceContext + "/api/sites/" + site.shortName + "/memberships/" + authority.fullName}" "url" : "${url.serviceContext + "/api/sites/" + site.shortName + "/memberships/" + authority.fullName!""}"
<#else> <#else>
<#-- this is a person authority type --> <#-- this is a person authority type -->
@@ -23,8 +23,8 @@
"authorityType" : "USER", "authorityType" : "USER",
"fullName" : "${authority.properties.userName}", "fullName" : "${authority.properties.userName}",
"userName" : "${authority.properties.userName}", "userName" : "${authority.properties.userName}",
"firstName" : "${authority.properties.firstName}", "firstName" : "${authority.properties.firstName!""}",
"lastName" : "${authority.properties.lastName}", "lastName" : "${authority.properties.lastName!""}",
<#if authority.assocs["cm:avatar"]??> <#if authority.assocs["cm:avatar"]??>
"avatar" : "${"api/node/" + authority.assocs["cm:avatar"][0].nodeRef?string?replace('://','/') + "/content/thumbnails/avatar"}", "avatar" : "${"api/node/" + authority.assocs["cm:avatar"][0].nodeRef?string?replace('://','/') + "/content/thumbnails/avatar"}",
</#if> </#if>

View File

@@ -9,8 +9,8 @@
creator: creator:
{ {
userName: "${v.creator.userName}", userName: "${v.creator.userName}",
firstName: "${jsonUtils.encodeJSONString(v.creator.firstName)}", firstName: "${jsonUtils.encodeJSONString(v.creator.firstName!"")}",
lastName: "${jsonUtils.encodeJSONString(v.creator.lastName)}" lastName: "${jsonUtils.encodeJSONString(v.creator.lastName!"")}"
} }
}<#if (v_has_next)>,</#if> }<#if (v_has_next)>,</#if>
</#list> </#list>

View File

@@ -108,16 +108,15 @@
"type": "${task.type}", "type": "${task.type}",
"completeness": "${task.properties["bpm:percentComplete"]}", "completeness": "${task.properties["bpm:percentComplete"]}",
<#if task.properties["inwf:resourceName"]?exists> <#if task.properties["inwf:resourceName"]?exists>
<#assign theSite = site.getSiteInfo(task.properties["inwf:resourceName"])>
<#assign theInviter = people.getPerson(task.properties["inwf:inviterUserName"])> <#assign theInviter = people.getPerson(task.properties["inwf:inviterUserName"])>
"invitation": "invitation":
{ {
"type": "nominated", "type": "nominated",
"site": "site":
{ {
"id": "${theSite.shortName}", "id": "${task.properties["inwf:resourceName"]!""}",
"title": "${theSite.title!""}", "title": "${jsonUtils.encodeJSONString(task.properties["inwf:resourceTitle"]!"")}",
"description": "${theSite.description!""}" "description": "${jsonUtils.encodeJSONString(task.properties["inwf:resourceDescription"]!"")}"
}, },
"inviter": "inviter":
{ {

View File

@@ -41,19 +41,19 @@
<#assign version = "1.0"> <#assign version = "1.0">
<#if d.hasAspect("cm:versionable") && d.versionHistory?size != 0><#assign version = d.versionHistory[0].versionLabel></#if> <#if d.hasAspect("cm:versionable") && d.versionHistory?size != 0><#assign version = d.versionHistory[0].versionLabel></#if>
<#if item.createdBy??> <#if item.createdBy??>
<#assign createdBy = (item.createdBy.properties.firstName + " " + item.createdBy.properties.lastName)?trim> <#assign createdBy = (item.createdBy.properties.firstName!"" + " " + item.createdBy.properties.lastName!"")?trim>
<#assign createdByUser = item.createdBy.properties.userName> <#assign createdByUser = item.createdBy.properties.userName>
<#else> <#else>
<#assign createdBy="" createdByUser=""> <#assign createdBy="" createdByUser="">
</#if> </#if>
<#if item.modifiedBy??> <#if item.modifiedBy??>
<#assign modifiedBy = (item.modifiedBy.properties.firstName + " " + item.modifiedBy.properties.lastName)?trim> <#assign modifiedBy = (item.modifiedBy.properties.firstName!"" + " " + item.modifiedBy.properties.lastName!"")?trim>
<#assign modifiedByUser = item.modifiedBy.properties.userName> <#assign modifiedByUser = item.modifiedBy.properties.userName>
<#else> <#else>
<#assign modifiedBy="" modifiedByUser=""> <#assign modifiedBy="" modifiedByUser="">
</#if> </#if>
<#if item.lockedBy??> <#if item.lockedBy??>
<#assign lockedBy = (item.lockedBy.properties.firstName + " " + item.lockedBy.properties.lastName)?trim> <#assign lockedBy = (item.lockedBy.properties.firstName!"" + " " + item.lockedBy.properties.lastName!"")?trim>
<#assign lockedByUser = item.lockedBy.properties.userName> <#assign lockedByUser = item.lockedBy.properties.userName>
<#else> <#else>
<#assign lockedBy="" lockedByUser=""> <#assign lockedBy="" lockedByUser="">

View File

@@ -64,7 +64,7 @@ public class RepositoryTemplateProcessor extends FreeMarkerProcessor
protected String defaultEncoding; protected String defaultEncoding;
protected Configuration templateConfig; protected Configuration templateConfig;
protected FreeMarkerProcessor freeMarkerProcessor; protected FreeMarkerProcessor freeMarkerProcessor;
private int updateDelay = 0; private int updateDelay = 1;
private int cacheSize = 512; private int cacheSize = 512;