001
014
015 package com.liferay.portlet.documentlibrary.trash;
016
017 import com.liferay.portal.kernel.repository.model.Folder;
018 import com.liferay.portal.kernel.trash.BaseTrashRenderer;
019 import com.liferay.portal.kernel.util.HtmlUtil;
020 import com.liferay.portal.kernel.workflow.WorkflowConstants;
021 import com.liferay.portal.theme.ThemeDisplay;
022 import com.liferay.portal.util.WebKeys;
023 import com.liferay.portlet.asset.AssetRendererFactoryRegistryUtil;
024 import com.liferay.portlet.asset.model.AssetRendererFactory;
025 import com.liferay.portlet.documentlibrary.model.DLFileEntry;
026 import com.liferay.portlet.documentlibrary.model.DLFolder;
027 import com.liferay.portlet.documentlibrary.service.DLAppServiceUtil;
028
029 import java.util.Locale;
030
031 import javax.portlet.RenderRequest;
032 import javax.portlet.RenderResponse;
033
034
037 public class DLFolderTrashRenderer extends BaseTrashRenderer {
038
039 public static final String TYPE = "folder";
040
041 public DLFolderTrashRenderer(Folder folder) {
042 _folder = folder;
043 }
044
045 @Override
046 public String getIconPath(ThemeDisplay themeDisplay) {
047 int foldersCount = 0;
048 int fileEntriesAndFileShortcutsCount = 0;
049
050 try {
051 foldersCount = DLAppServiceUtil.getFoldersCount(
052 _folder.getRepositoryId(), _folder.getFolderId());
053
054 fileEntriesAndFileShortcutsCount =
055 DLAppServiceUtil.getFileEntriesAndFileShortcutsCount(
056 _folder.getRepositoryId(), _folder.getFolderId(),
057 WorkflowConstants.STATUS_APPROVED);
058 }
059 catch (Exception e) {
060 }
061
062 if ((foldersCount + fileEntriesAndFileShortcutsCount) > 0) {
063 return themeDisplay.getPathThemeImages() +
064 "/common/folder_full_document.png";
065 }
066
067 return themeDisplay.getPathThemeImages() + "/common/folder_empty.png";
068 }
069
070 public String getPortletId() {
071 AssetRendererFactory assetRendererFactory =
072 AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(
073 DLFileEntry.class.getName());
074
075 return assetRendererFactory.getPortletId();
076 }
077
078 @Override
079 public String getRestorePath(RenderRequest renderRequest) {
080 DLFolder dlFolder = (DLFolder)_folder.getModel();
081
082 if ((dlFolder != null) && dlFolder.isInTrashFolder()) {
083 renderRequest.setAttribute(
084 WebKeys.DOCUMENT_LIBRARY_FOLDER, _folder);
085
086 return "/html/portlet/document_library/trash/folder_restore.jsp";
087 }
088
089 return null;
090 }
091
092 public String getSummary(Locale locale) {
093 return HtmlUtil.stripHtml(_folder.getDescription());
094 }
095
096 public String getTitle(Locale locale) {
097 return _folder.getName();
098 }
099
100 public String getType() {
101 return TYPE;
102 }
103
104 public String render(
105 RenderRequest renderRequest, RenderResponse renderResponse,
106 String template)
107 throws Exception {
108
109 renderRequest.setAttribute(WebKeys.DOCUMENT_LIBRARY_FOLDER, _folder);
110
111 return "/html/portlet/document_library/trash/folder.jsp";
112 }
113
114 @Override
115 public String renderActions(
116 RenderRequest renderRequest, RenderResponse renderResponse) {
117
118 renderRequest.setAttribute("view_entries.jsp-folder", _folder);
119
120 return "/html/portlet/document_library/folder_action.jsp";
121 }
122
123 private Folder _folder;
124
125 }