List of usage examples for com.liferay.portal.kernel.repository.model Folder containsPermission
public boolean containsPermission(PermissionChecker permissionChecker, String actionId) throws PortalException;
From source file:au.com.permeance.liferay.portlet.documentlibrary.action.DownloadFolderZipAction.java
License:Open Source License
protected void downloadFolder(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); long groupId = themeDisplay.getScopeGroupId(); long repositoryId = ParamUtil.getLong(resourceRequest, "repositoryId"); long folderId = ParamUtil.getLong(resourceRequest, "folderId"); Folder folder = DLAppServiceUtil.getFolder(folderId); ServiceContext serviceContext = ServiceContextFactory.getInstance(Folder.class.getName(), resourceRequest); PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); if (!folder.containsPermission(permissionChecker, ActionKeys.VIEW)) { throw new PrincipalException(); }/*w ww .j av a 2 s .c o m*/ File tempZipFile = null; try { tempZipFile = createTempZipFile(); DLFolderExportZipServiceUtil.exportFolderToZipFile(groupId, repositoryId, folderId, serviceContext, tempZipFile); String downloadZipFileName = folder.getName() + ZIP_FILE_EXT; sendZipFile(resourceRequest, resourceResponse, tempZipFile, downloadZipFileName); } catch (Exception e) { String msg = "Error downloading folder " + folderId + " from repository " + repositoryId + " : " + e.getMessage(); s_log.error(msg, e); throw new PortalException(msg, e); } finally { safeDeleteFile(tempZipFile); tempZipFile = null; } }
From source file:au.com.permeance.liferay.portlet.documentlibrary.action.FolderInfoAction.java
License:Open Source License
protected DLFolderInfo buildFolderInfo(RenderRequest renderRequest, RenderResponse renderResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) renderRequest.getAttribute(WebKeys.THEME_DISPLAY); long groupId = ParamUtil.getLong(renderRequest, "groupId"); long scopeGroupId = themeDisplay.getScopeGroupId(); String scopeGroupName = themeDisplay.getScopeGroupName(); long repositoryId = ParamUtil.getLong(renderRequest, "repositoryId"); long folderId = ParamUtil.getLong(renderRequest, "folderId"); Folder folder = DLAppServiceUtil.getFolder(folderId); ServiceContext serviceContext = ServiceContextFactory.getInstance(Folder.class.getName(), renderRequest); if (s_log.isDebugEnabled()) { s_log.debug("building folder info ..."); ParamUtil.print(renderRequest);/* w ww . j a va 2 s . com*/ s_log.debug("groupId: " + groupId); s_log.debug("scopeGroupId: " + scopeGroupId); s_log.debug("scopeGroupName: " + scopeGroupName); s_log.debug("repositoryId: " + repositoryId); s_log.debug("folderId: " + folderId); } PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); if (!folder.containsPermission(permissionChecker, ActionKeys.VIEW)) { throw new PrincipalException(); } DLFolderInfo folderInfo = new DLFolderInfo(); try { User user = UserServiceUtil.getUserById(folder.getUserId()); DLFolderUsage folderUsage = DLFolderUsageServiceUtil.calculateFolderUsage(repositoryId, folderId, serviceContext); folderInfo.setFolderId(folderId); folderInfo.setFolderName(folder.getName()); folderInfo.setFolderCreateDate(folder.getCreateDate()); folderInfo.setFolderDescription(folder.getDescription()); folderInfo.setFolderPath(buildPath(folder)); folderInfo.setFolderUsage(folderUsage); folderInfo.setFolderUserId(folder.getUserId()); if (user != null) { folderInfo.setFolderUserFullName(user.getFullName()); } folderInfo.setRepositoryId(repositoryId); Repository repository = null; if (repositoryId != scopeGroupId) { repository = RepositoryServiceUtil.getRepository(repositoryId); if (repository != null) { folderInfo.setRepositoryName(repository.getName()); folderInfo.setRepositoryClassName(repository.getClassName()); folderInfo.setRepositoryDescription(repository.getDescription()); } } } catch (Exception e) { String msg = "Error building information for folder " + folderId + " in repository " + repositoryId + " : " + e.getMessage(); s_log.error(msg, e); throw new PortalException(msg, e); } finally { // placeholder } return folderInfo; }
From source file:com.liferay.portlet.documentlibrary.service.permission.DLFolderPermission.java
License:Open Source License
public static void check(PermissionChecker permissionChecker, Folder folder, String actionId) throws PortalException, SystemException { if (!folder.containsPermission(permissionChecker, actionId)) { throw new PrincipalException(); }/*from w ww . j a v a 2 s .com*/ }
From source file:com.liferay.portlet.documentlibrary.service.permission.DLFolderPermission.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, Folder folder, String actionId) throws PortalException, SystemException { return folder.containsPermission(permissionChecker, actionId); }
From source file:com.liferay.portlet.documentlibrary.service.permission.DLFolderPermission.java
License:Open Source License
public static boolean contains(PermissionChecker permissionChecker, long groupId, long folderId, String actionId) throws PortalException, SystemException { if (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { // Prevent the propagation of checks for actions that are not // supported at the application resource level. See LPS-24245. if (actionId.equals(ActionKeys.ACCESS) || actionId.equals(ActionKeys.ADD_SUBFOLDER) || actionId.equals(ActionKeys.DELETE)) { return false; }//ww w . ja v a 2s . com return DLPermission.contains(permissionChecker, groupId, actionId); } else { Folder folder = DLAppLocalServiceUtil.getFolder(folderId); return folder.containsPermission(permissionChecker, actionId); } }
From source file:com.rivetlogic.tree.view.service.impl.EnhancedDLAppServiceImpl.java
License:Open Source License
public List<Object> getFoldersAndFileEntriesAndFileShortcuts(long repositoryId, long folderId, int status, boolean includeMountFolders, int start, int end) throws PortalException, SystemException { List<Object> items = DLAppServiceUtil.getFoldersAndFileEntriesAndFileShortcuts(repositoryId, folderId, status, includeMountFolders, start, end); List<Object> results = new ArrayList<Object>(); for (Object o : items) { if (o instanceof Folder) { Folder folder = (Folder) o; DLFolder dlFolder = new DLFolder(folder); dlFolder.setDeletePermission(folder.containsPermission(getPermissionChecker(), ActionKeys.DELETE)); dlFolder.setUpdatePermission(folder.containsPermission(getPermissionChecker(), ActionKeys.UPDATE)); results.add(dlFolder);/* w w w . j a v a 2s . c o m*/ } if (o instanceof FileEntry) { FileEntry fileEntry = (FileEntry) o; DLFileEntry dlFileEntry = new DLFileEntry(fileEntry); dlFileEntry.setDeletePermission( fileEntry.containsPermission(getPermissionChecker(), ActionKeys.DELETE)); dlFileEntry.setUpdatePermission( fileEntry.containsPermission(getPermissionChecker(), ActionKeys.UPDATE)); dlFileEntry.setPreviewFileURL(getThumbnailURL(fileEntry, null, dlFileEntry)); results.add(dlFileEntry); } if (o instanceof DLFileShortcut) { DLFileShortcut dLFileShortcut = (DLFileShortcut) o; FileEntry fileEntry = DLAppServiceUtil.getFileEntry(dLFileShortcut.getToFileEntryId()); DLFileEntry dlFileEntry = new DLFileEntry(fileEntry); dlFileEntry.setDeletePermission( fileEntry.containsPermission(getPermissionChecker(), ActionKeys.DELETE)); dlFileEntry.setUpdatePermission( fileEntry.containsPermission(getPermissionChecker(), ActionKeys.UPDATE)); dlFileEntry.setShortcut(true); dlFileEntry.setRowCheckerName(DLFileShortcut.class.getSimpleName()); dlFileEntry.setRowCheckerId(String.valueOf(dLFileShortcut.getFileShortcutId())); dlFileEntry.setPreviewFileURL(getThumbnailURL(fileEntry, dLFileShortcut, dlFileEntry)); results.add(dlFileEntry); } } return results; }