mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merged V2.1 to HEAD
6846: used ] instead of } in ${ldap.synchronisation.userIdAttributeName] 6856: Fixed 2 NPEs, one reported by MIT and one found by Jan (WCM-835) 6859: Truncate an existing file when uploading via FTP. WCM-836. 6869: Removed temporary files and folders from deploy-installer project 6870: Updated ignore property 6875: Fix for AWC-1605 6878: Fix for AWC-1587 6880: Fix for French language pack - locked_user message 6883: Fix for AWC-1565 6884: Relax trhe permissions required to get the parent links from a child node 6891: Fix for AR-1781 and AR-1782 (requires CHK-1451) 6892: Fixed AR-1777: Node status not updated for addition and removal of secondary associations (affects index tracking) 6893: Sample for replicating content store sample 6896: Added JVM shutdown check into inner loop to get faster breakout in the event of shutdown. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6899 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
<property name="contentService" ref="contentService" />
|
<property name="contentService" ref="contentService" />
|
||||||
<property name="fileFolderService" ref="fileFolderService" />
|
<property name="fileFolderService" ref="fileFolderService" />
|
||||||
<property name="searchService" ref="SearchService" />
|
<property name="searchService" ref="SearchService" />
|
||||||
|
<property name="permissionService" ref="PermissionService" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="webscripts.classpathstore" class="org.alfresco.web.scripts.ClassPathStore" abstract="true" />
|
<bean id="webscripts.classpathstore" class="org.alfresco.web.scripts.ClassPathStore" abstract="true" />
|
||||||
|
@@ -799,7 +799,7 @@ public class BrowseBean implements IContextListener
|
|||||||
node = new MapNode(nodeRef, this.nodeService, fileInfo.getProperties());
|
node = new MapNode(nodeRef, this.nodeService, fileInfo.getProperties());
|
||||||
// only display the user has the permissions to navigate to the target of the link
|
// only display the user has the permissions to navigate to the target of the link
|
||||||
NodeRef destRef = (NodeRef)node.getProperties().get(ContentModel.PROP_LINK_DESTINATION);
|
NodeRef destRef = (NodeRef)node.getProperties().get(ContentModel.PROP_LINK_DESTINATION);
|
||||||
if (new Node(destRef).hasPermission(PermissionService.READ) == true)
|
if (destRef != null && new Node(destRef).hasPermission(PermissionService.READ) == true)
|
||||||
{
|
{
|
||||||
node.addPropertyResolver("url", this.resolverLinkUrl);
|
node.addPropertyResolver("url", this.resolverLinkUrl);
|
||||||
node.addPropertyResolver("webdavUrl", this.resolverLinkWebdavUrl);
|
node.addPropertyResolver("webdavUrl", this.resolverLinkWebdavUrl);
|
||||||
@@ -818,7 +818,7 @@ public class BrowseBean implements IContextListener
|
|||||||
node = new MapNode(nodeRef, this.nodeService, fileInfo.getProperties());
|
node = new MapNode(nodeRef, this.nodeService, fileInfo.getProperties());
|
||||||
// only display the user has the permissions to navigate to the target of the link
|
// only display the user has the permissions to navigate to the target of the link
|
||||||
NodeRef destRef = (NodeRef)node.getProperties().get(ContentModel.PROP_LINK_DESTINATION);
|
NodeRef destRef = (NodeRef)node.getProperties().get(ContentModel.PROP_LINK_DESTINATION);
|
||||||
if (new Node(destRef).hasPermission(PermissionService.READ) == true)
|
if (destRef != null && new Node(destRef).hasPermission(PermissionService.READ) == true)
|
||||||
{
|
{
|
||||||
node.addPropertyResolver("icon", this.resolverSpaceIcon);
|
node.addPropertyResolver("icon", this.resolverSpaceIcon);
|
||||||
node.addPropertyResolver("smallIcon", this.resolverSmallIcon);
|
node.addPropertyResolver("smallIcon", this.resolverSmallIcon);
|
||||||
|
@@ -39,6 +39,8 @@ import org.alfresco.service.cmr.repository.ContentService;
|
|||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.web.app.Application;
|
import org.alfresco.web.app.Application;
|
||||||
|
import org.alfresco.web.app.servlet.BaseTemplateContentServlet;
|
||||||
|
import org.alfresco.web.app.servlet.BaseTemplateContentServlet.URLHelper;
|
||||||
import org.alfresco.web.bean.repository.Repository;
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.ui.common.Utils;
|
import org.alfresco.web.ui.common.Utils;
|
||||||
import org.alfresco.web.ui.repo.component.template.DefaultModelHelper;
|
import org.alfresco.web.ui.repo.component.template.DefaultModelHelper;
|
||||||
@@ -123,6 +125,9 @@ public class TemplateMailHelperBean
|
|||||||
services, Application.getCurrentUser(fc), templateRef);
|
services, Application.getCurrentUser(fc), templateRef);
|
||||||
model.put("role", roleText);
|
model.put("role", roleText);
|
||||||
model.put("space", node);
|
model.put("space", node);
|
||||||
|
// object to allow client urls to be generated in emails
|
||||||
|
model.put("url", new BaseTemplateContentServlet.URLHelper(
|
||||||
|
fc.getExternalContext().getRequestContextPath()));
|
||||||
|
|
||||||
body = services.getTemplateService().processTemplate("freemarker", templateRef.toString(), model);
|
body = services.getTemplateService().processTemplate("freemarker", templateRef.toString(), model);
|
||||||
}
|
}
|
||||||
|
@@ -391,7 +391,8 @@ final class Column
|
|||||||
*/
|
*/
|
||||||
public Column(Column copy)
|
public Column(Column copy)
|
||||||
{
|
{
|
||||||
this.dashlets = (List<DashletDefinition>)((ArrayList<DashletDefinition>)copy.dashlets).clone();
|
this.dashlets = new ArrayList<DashletDefinition>(copy.dashlets.size());
|
||||||
|
this.dashlets.addAll(copy.dashlets);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addDashlet(DashletDefinition dashlet)
|
public void addDashlet(DashletDefinition dashlet)
|
||||||
|
@@ -494,7 +494,8 @@ public class RegenerateRenditionsWizard
|
|||||||
query.append("+ASPECT:\"" + WCMAppModel.ASPECT_RENDITION + "\"");
|
query.append("+ASPECT:\"" + WCMAppModel.ASPECT_RENDITION + "\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.regenerateScope.equals(REGENERATE_SCOPE_FORM))
|
if (this.regenerateScope.equals(REGENERATE_SCOPE_FORM) &&
|
||||||
|
this.selectedForms != null)
|
||||||
{
|
{
|
||||||
query.append(" +(");
|
query.append(" +(");
|
||||||
for (int i = 0; i < this.selectedForms.length; i++)
|
for (int i = 0; i < this.selectedForms.length; i++)
|
||||||
@@ -508,7 +509,9 @@ public class RegenerateRenditionsWizard
|
|||||||
}
|
}
|
||||||
query.append(") ");
|
query.append(") ");
|
||||||
}
|
}
|
||||||
if (this.regenerateScope.equals(REGENERATE_SCOPE_RENDERING_ENGINE_TEMPLATE))
|
|
||||||
|
if (this.regenerateScope.equals(REGENERATE_SCOPE_RENDERING_ENGINE_TEMPLATE) &&
|
||||||
|
this.selectedRenderingEngineTemplates != null)
|
||||||
{
|
{
|
||||||
query.append(" +(");
|
query.append(" +(");
|
||||||
for (int i = 0; i < this.selectedRenderingEngineTemplates.length; i++)
|
for (int i = 0; i < this.selectedRenderingEngineTemplates.length; i++)
|
||||||
|
@@ -494,7 +494,8 @@ public abstract class InviteUsersWizard extends BaseWizardBean
|
|||||||
String personName = Application.getCurrentUser(context).getFullName(this.nodeService);
|
String personName = Application.getCurrentUser(context).getFullName(this.nodeService);
|
||||||
String msgInvitedTo = Application.getMessage(context, MSG_INVITED_TO);
|
String msgInvitedTo = Application.getMessage(context, MSG_INVITED_TO);
|
||||||
Node node = this.getNode();
|
Node node = this.getNode();
|
||||||
String path = this.nodeService.getPath(node.getNodeRef()).toDisplayPath(this.nodeService);
|
String path = this.nodeService.getPath(node.getNodeRef()).toDisplayPath(
|
||||||
|
this.nodeService, this.permissionService);
|
||||||
buf.append(MessageFormat.format(msgInvitedTo, new Object[] {
|
buf.append(MessageFormat.format(msgInvitedTo, new Object[] {
|
||||||
path + '/' + node.getName(),
|
path + '/' + node.getName(),
|
||||||
personName}) );
|
personName}) );
|
||||||
|
@@ -23,24 +23,30 @@
|
|||||||
*/
|
*/
|
||||||
package org.alfresco.web.forms;
|
package org.alfresco.web.forms;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.FileNotFoundException;
|
||||||
import java.util.*;
|
import java.io.IOException;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.faces.context.FacesContext;
|
import javax.faces.context.FacesContext;
|
||||||
import org.alfresco.model.ContentModel;
|
|
||||||
import org.alfresco.model.WCMAppModel;
|
import org.alfresco.model.WCMAppModel;
|
||||||
import org.alfresco.repo.avm.AVMNodeConverter;
|
import org.alfresco.repo.avm.AVMNodeConverter;
|
||||||
import org.alfresco.repo.domain.PropertyValue;
|
import org.alfresco.repo.domain.PropertyValue;
|
||||||
import org.alfresco.service.ServiceRegistry;
|
import org.alfresco.service.ServiceRegistry;
|
||||||
import org.alfresco.service.cmr.avm.AVMNotFoundException;
|
|
||||||
import org.alfresco.service.cmr.avm.AVMService;
|
import org.alfresco.service.cmr.avm.AVMService;
|
||||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||||
import org.alfresco.service.cmr.repository.*;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
|
||||||
import org.alfresco.web.bean.repository.Repository;
|
import org.alfresco.web.bean.repository.Repository;
|
||||||
import org.alfresco.web.bean.wcm.AVMUtil;
|
import org.alfresco.web.bean.wcm.AVMUtil;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.w3c.dom.*;
|
import org.w3c.dom.Document;
|
||||||
import org.xml.sax.SAXException;
|
import org.xml.sax.SAXException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -48,10 +54,8 @@ import org.xml.sax.SAXException;
|
|||||||
*
|
*
|
||||||
* @author Ariel Backenroth
|
* @author Ariel Backenroth
|
||||||
*/
|
*/
|
||||||
/* package */ class FormInstanceDataImpl
|
/* package */ class FormInstanceDataImpl implements FormInstanceData
|
||||||
implements FormInstanceData
|
|
||||||
{
|
{
|
||||||
|
|
||||||
private static final Log LOGGER = LogFactory.getLog(RenditionImpl.class);
|
private static final Log LOGGER = LogFactory.getLog(RenditionImpl.class);
|
||||||
|
|
||||||
private final NodeRef nodeRef;
|
private final NodeRef nodeRef;
|
||||||
@@ -151,17 +155,15 @@ import org.xml.sax.SAXException;
|
|||||||
if (LOGGER.isDebugEnabled())
|
if (LOGGER.isDebugEnabled())
|
||||||
LOGGER.debug("regenerating renditions of " + this);
|
LOGGER.debug("regenerating renditions of " + this);
|
||||||
|
|
||||||
|
|
||||||
final AVMService avmService = this.getServiceRegistry().getAVMService();
|
final AVMService avmService = this.getServiceRegistry().getAVMService();
|
||||||
String originalParentAvmPath =
|
PropertyValue pv = avmService.getNodeProperty(
|
||||||
avmService.getNodeProperty(AVMNodeConverter.ToAVMVersionPath(this.nodeRef).getFirst(),
|
AVMNodeConverter.ToAVMVersionPath(this.nodeRef).getFirst(),
|
||||||
AVMNodeConverter.ToAVMVersionPath(this.nodeRef).getSecond(),
|
AVMNodeConverter.ToAVMVersionPath(this.nodeRef).getSecond(),
|
||||||
WCMAppModel.PROP_ORIGINAL_PARENT_PATH).getStringValue();
|
WCMAppModel.PROP_ORIGINAL_PARENT_PATH);
|
||||||
|
|
||||||
|
String originalParentAvmPath = (pv == null) ?
|
||||||
|
AVMNodeConverter.SplitBase(this.getPath())[0] : pv.getStringValue();
|
||||||
|
|
||||||
if (originalParentAvmPath == null)
|
|
||||||
{
|
|
||||||
originalParentAvmPath = AVMNodeConverter.SplitBase(this.getPath())[0];
|
|
||||||
}
|
|
||||||
final HashSet<RenderingEngineTemplate> allRets =
|
final HashSet<RenderingEngineTemplate> allRets =
|
||||||
new HashSet<RenderingEngineTemplate>(this.getForm().getRenderingEngineTemplates());
|
new HashSet<RenderingEngineTemplate>(this.getForm().getRenderingEngineTemplates());
|
||||||
final List<RegenerateResult> result = new LinkedList<RegenerateResult>();
|
final List<RegenerateResult> result = new LinkedList<RegenerateResult>();
|
||||||
|
@@ -50,6 +50,7 @@ import org.alfresco.service.cmr.repository.ScriptLocation;
|
|||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.alfresco.service.cmr.search.ResultSet;
|
import org.alfresco.service.cmr.search.ResultSet;
|
||||||
import org.alfresco.service.cmr.search.SearchService;
|
import org.alfresco.service.cmr.search.SearchService;
|
||||||
|
import org.alfresco.service.cmr.security.PermissionService;
|
||||||
import org.alfresco.service.namespace.NamespaceService;
|
import org.alfresco.service.namespace.NamespaceService;
|
||||||
import org.alfresco.util.AbstractLifecycleBean;
|
import org.alfresco.util.AbstractLifecycleBean;
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
@@ -82,6 +83,7 @@ public class RepoStore implements WebScriptStore, ApplicationContextAware, Appli
|
|||||||
protected ContentService contentService;
|
protected ContentService contentService;
|
||||||
protected FileFolderService fileService;
|
protected FileFolderService fileService;
|
||||||
protected NamespaceService namespaceService;
|
protected NamespaceService namespaceService;
|
||||||
|
protected PermissionService permissionService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -132,6 +134,14 @@ public class RepoStore implements WebScriptStore, ApplicationContextAware, Appli
|
|||||||
this.namespaceService = namespaceService;
|
this.namespaceService = namespaceService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the permission service
|
||||||
|
*/
|
||||||
|
public void setPermissionService(PermissionService permissionService)
|
||||||
|
{
|
||||||
|
this.permissionService = permissionService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets whether the repo store must exist
|
* Sets whether the repo store must exist
|
||||||
*
|
*
|
||||||
@@ -248,7 +258,8 @@ public class RepoStore implements WebScriptStore, ApplicationContextAware, Appli
|
|||||||
*/
|
*/
|
||||||
protected String getPath(NodeRef nodeRef)
|
protected String getPath(NodeRef nodeRef)
|
||||||
{
|
{
|
||||||
return nodeService.getPath(nodeRef).toDisplayPath(nodeService) + "/" + nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
|
return nodeService.getPath(nodeRef).toDisplayPath(nodeService, permissionService) +
|
||||||
|
"/" + nodeService.getProperty(nodeRef, ContentModel.PROP_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user