Index: lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java =================================================================== diff -u -rfc0a85ca7a12cd69d71d582eb17c62fc8d27101c -r9aadeea7688da46cdc734a1402e5a44662aa5c91 --- lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java (.../WorkspaceManagementService.java) (revision fc0a85ca7a12cd69d71d582eb17c62fc8d27101c) +++ lams_central/src/java/org/lamsfoundation/lams/workspace/service/WorkspaceManagementService.java (.../WorkspaceManagementService.java) (revision 9aadeea7688da46cdc734a1402e5a44662aa5c91) @@ -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)); + } } } }