Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java,v diff -u -r1.13 -r1.14 --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 2 Feb 2006 05:46:48 -0000 1.13 +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java 5 Feb 2006 21:40:57 -0000 1.14 @@ -378,7 +378,7 @@ if(permissions!=WorkspaceFolder.NO_ACCESS){ getFolderContent(workspaceFolder,permissions,mode,contentDTO); if(workspaceFolder.hasSubFolders()) - getSubFolderDetails(workspaceFolder,permissions,contentDTO, skipFolder); + getSubFolderDetails(workspaceFolder,user,contentDTO, skipFolder); Vector repositoryContent = getContentsFromRepository(workspaceFolder.getWorkspaceFolderId(),permissions); if(repositoryContent!=null) contentDTO.addAll(repositoryContent); @@ -405,13 +405,16 @@ /** * Get the folders in the given workspaceFolder. If skipContentId is not null, then skip any contents found with this id. */ - private void getSubFolderDetails(WorkspaceFolder workspaceFolder,Integer permissions, Vector subFolderContent, WorkspaceFolder skipFolder){ + private void getSubFolderDetails(WorkspaceFolder workspaceFolder,User user, Vector subFolderContent, WorkspaceFolder skipFolder){ Integer skipFolderID = skipFolder != null ? skipFolder.getWorkspaceFolderId() : null; Iterator iterator = workspaceFolder.getChildWorkspaceFolders().iterator(); while(iterator.hasNext()){ WorkspaceFolder subFolder = (WorkspaceFolder)iterator.next(); if ( skipFolderID==null || ! skipFolderID.equals(subFolder.getWorkspaceFolderId()) ) { - subFolderContent.add(new FolderContentDTO(subFolder,permissions)); + Integer permissions = getPermissions(subFolder, user); + if ( permissions!=WorkspaceFolder.NO_ACCESS) { + subFolderContent.add(new FolderContentDTO(subFolder,permissions)); + } } } }