mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
ALFCOM-2310: Creating a space under Sites (web client) breaks the sites search in share
- list site method on site service now filters out non-site nodes found git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@12710 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -61,6 +61,7 @@
|
|||||||
<property name="activityService" ref="activityService"/>
|
<property name="activityService" ref="activityService"/>
|
||||||
<property name="taggingService" ref="TaggingService"/>
|
<property name="taggingService" ref="TaggingService"/>
|
||||||
<property name="authorityService" ref="authorityService"/>
|
<property name="authorityService" ref="authorityService"/>
|
||||||
|
<property name="dictionaryService" ref="DictionaryService"/>
|
||||||
<property name="sitesXPath">
|
<property name="sitesXPath">
|
||||||
<value>./${spaces.company_home.childname}/st:sites</value>
|
<value>./${spaces.company_home.childname}/st:sites</value>
|
||||||
</property>
|
</property>
|
||||||
|
@@ -37,6 +37,7 @@ import org.alfresco.repo.activities.ActivityType;
|
|||||||
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
import org.alfresco.repo.security.authentication.AuthenticationComponent;
|
||||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||||
import org.alfresco.service.cmr.activities.ActivityService;
|
import org.alfresco.service.cmr.activities.ActivityService;
|
||||||
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.model.FileNotFoundException;
|
import org.alfresco.service.cmr.model.FileNotFoundException;
|
||||||
@@ -91,6 +92,7 @@ public class SiteServiceImpl implements SiteService, SiteModel
|
|||||||
private AuthenticationComponent authenticationComponent;
|
private AuthenticationComponent authenticationComponent;
|
||||||
private TaggingService taggingService;
|
private TaggingService taggingService;
|
||||||
private AuthorityService authorityService;
|
private AuthorityService authorityService;
|
||||||
|
private DictionaryService dictionaryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the path to the location of the sites root folder. For example:
|
* Set the path to the location of the sites root folder. For example:
|
||||||
@@ -185,6 +187,16 @@ public class SiteServiceImpl implements SiteService, SiteModel
|
|||||||
this.authorityService = authorityService;
|
this.authorityService = authorityService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the dictionary service
|
||||||
|
*
|
||||||
|
* @param dictionaryService dictionary service
|
||||||
|
*/
|
||||||
|
public void setDictionaryService(DictionaryService dictionaryService)
|
||||||
|
{
|
||||||
|
this.dictionaryService = dictionaryService;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks that all necessary properties and services have been provided.
|
* Checks that all necessary properties and services have been provided.
|
||||||
*/
|
*/
|
||||||
@@ -430,7 +442,6 @@ public class SiteServiceImpl implements SiteService, SiteModel
|
|||||||
// - take into consideration that the sites may not just be in a flat
|
// - take into consideration that the sites may not just be in a flat
|
||||||
// list under the site root
|
// list under the site root
|
||||||
|
|
||||||
// TODO
|
|
||||||
// For now just return the list of sites present under the site root
|
// For now just return the list of sites present under the site root
|
||||||
NodeRef siteRoot = getSiteRoot();
|
NodeRef siteRoot = getSiteRoot();
|
||||||
List<ChildAssociationRef> assocs = this.nodeService.getChildAssocs(
|
List<ChildAssociationRef> assocs = this.nodeService.getChildAssocs(
|
||||||
@@ -439,7 +450,13 @@ public class SiteServiceImpl implements SiteService, SiteModel
|
|||||||
List<SiteInfo> result = new ArrayList<SiteInfo>(assocs.size());
|
List<SiteInfo> result = new ArrayList<SiteInfo>(assocs.size());
|
||||||
for (ChildAssociationRef assoc : assocs)
|
for (ChildAssociationRef assoc : assocs)
|
||||||
{
|
{
|
||||||
result.add(createSiteInfo(assoc.getChildRef()));
|
// Ignore any node that is not a "site"
|
||||||
|
NodeRef site = assoc.getChildRef();
|
||||||
|
QName siteClassName = this.nodeService.getType(site);
|
||||||
|
if (this.dictionaryService.isSubClass(siteClassName, SiteModel.TYPE_SITE) == true)
|
||||||
|
{
|
||||||
|
result.add(createSiteInfo(site));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
Reference in New Issue
Block a user