
META-INF.resources.document_library.view_entries.jsp Maven / Gradle / Ivy
The newest version!
<%--
/**
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*/
--%>
<%@ include file="/document_library/init.jsp" %>
<%
String navigation = ParamUtil.getString(request, "navigation", "home");
String currentFolder = ParamUtil.getString(request, "curFolder");
String deltaFolder = ParamUtil.getString(request, "deltaFolder");
long folderId = GetterUtil.getLong((String)request.getAttribute("view.jsp-folderId"));
long repositoryId = GetterUtil.getLong((String)request.getAttribute("view.jsp-repositoryId"));
long fileEntryTypeId = ParamUtil.getLong(request, "fileEntryTypeId", -1);
String dlFileEntryTypeName = LanguageUtil.get(request, "basic-document");
int status = WorkflowConstants.STATUS_APPROVED;
if (permissionChecker.isContentReviewer(user.getCompanyId(), scopeGroupId)) {
status = WorkflowConstants.STATUS_ANY;
}
long categoryId = ParamUtil.getLong(request, "categoryId");
String tagName = ParamUtil.getString(request, "tag");
boolean useAssetEntryQuery = (categoryId > 0) || Validator.isNotNull(tagName);
DLPortletInstanceSettingsHelper dlPortletInstanceSettingsHelper = new DLPortletInstanceSettingsHelper(dlRequestHelper);
String displayStyle = GetterUtil.getString((String)request.getAttribute("view.jsp-displayStyle"));
PortletURL portletURL = liferayPortletResponse.createRenderURL();
portletURL.setParameter("mvcRenderCommandName", (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) ? "/document_library/view" : "/document_library/view_folder");
portletURL.setParameter("navigation", navigation);
portletURL.setParameter("curFolder", currentFolder);
portletURL.setParameter("deltaFolder", deltaFolder);
portletURL.setParameter("folderId", String.valueOf(folderId));
SearchContainer dlSearchContainer = new SearchContainer(liferayPortletRequest, null, null, "curEntry", SearchContainer.DEFAULT_DELTA, portletURL, null, null);
EntriesChecker entriesChecker = new EntriesChecker(liferayPortletRequest, liferayPortletResponse);
entriesChecker.setCssClass("entry-selector");
entriesChecker.setRememberCheckBoxStateURLRegex("^(?!.*" + liferayPortletResponse.getNamespace() + "redirect).*(folderId=" + String.valueOf(folderId) + ")");
EntriesMover entriesMover = new EntriesMover(scopeGroupId, repositoryId);
String[] entryColumns = dlPortletInstanceSettingsHelper.getEntryColumns();
dlSearchContainer.setHeaderNames(ListUtil.fromArray(entryColumns));
String orderByCol = GetterUtil.getString((String)request.getAttribute("view.jsp-orderByCol"));
String orderByType = GetterUtil.getString((String)request.getAttribute("view.jsp-orderByType"));
boolean orderByModel = false;
if (navigation.equals("home")) {
orderByModel = true;
}
OrderByComparator> orderByComparator = DLUtil.getRepositoryModelOrderByComparator(orderByCol, orderByType, orderByModel);
if (navigation.equals("recent")) {
orderByComparator = new RepositoryModelModifiedDateComparator();
}
dlSearchContainer.setOrderByCol(orderByCol);
dlSearchContainer.setOrderByComparator(orderByComparator);
dlSearchContainer.setOrderByType(orderByType);
List results = null;
int total = 0;
if (fileEntryTypeId >= 0) {
Indexer indexer = IndexerRegistryUtil.getIndexer(DLFileEntryConstants.getClassName());
if (fileEntryTypeId > 0) {
DLFileEntryType dlFileEntryType = DLFileEntryTypeLocalServiceUtil.getFileEntryType(fileEntryTypeId);
dlFileEntryTypeName = dlFileEntryType.getName(locale);
}
SearchContext searchContext = SearchContextFactory.getInstance(request);
searchContext.setAttribute("paginationType", "none");
searchContext.setEnd(dlSearchContainer.getEnd());
if (orderByCol.equals("creationDate")) {
orderByCol = "createDate";
}
else if (orderByCol.equals("readCount")) {
orderByCol = "downloads";
}
else if (orderByCol.equals("modifiedDate")) {
orderByCol = "modified";
}
Sort sort = new Sort(orderByCol, !StringUtil.equalsIgnoreCase(orderByType, "asc"));
searchContext.setSorts(sort);
searchContext.setStart(dlSearchContainer.getStart());
Hits hits = indexer.search(searchContext);
total = hits.getLength();
dlSearchContainer.setTotal(total);
Document[] docs = hits.getDocs();
results = new ArrayList(docs.length);
for (Document doc : docs) {
long fileEntryId = GetterUtil.getLong(doc.get(Field.ENTRY_CLASS_PK));
FileEntry fileEntry = null;
try {
fileEntry = DLAppLocalServiceUtil.getFileEntry(fileEntryId);
}
catch (Exception e) {
if (_log.isWarnEnabled()) {
_log.warn("Documents and Media search index is stale and contains file entry {" + fileEntryId + "}");
}
continue;
}
results.add(fileEntry);
}
}
else {
if (navigation.equals("home")) {
if (useAssetEntryQuery) {
long[] classNameIds = {PortalUtil.getClassNameId(DLFileEntryConstants.getClassName()), PortalUtil.getClassNameId(DLFileShortcutConstants.getClassName())};
AssetEntryQuery assetEntryQuery = new AssetEntryQuery(classNameIds, dlSearchContainer);
assetEntryQuery.setEnablePermissions(true);
assetEntryQuery.setExcludeZeroViewCount(false);
total = AssetEntryServiceUtil.getEntriesCount(assetEntryQuery);
dlSearchContainer.setTotal(total);
results = AssetEntryServiceUtil.getEntries(assetEntryQuery);
}
else {
total = DLAppServiceUtil.getFoldersAndFileEntriesAndFileShortcutsCount(repositoryId, folderId, status, true);
dlSearchContainer.setTotal(total);
results = DLAppServiceUtil.getFoldersAndFileEntriesAndFileShortcuts(repositoryId, folderId, status, true, dlSearchContainer.getStart(), dlSearchContainer.getEnd(), dlSearchContainer.getOrderByComparator());
}
}
else if (navigation.equals("mine") || navigation.equals("recent")) {
long groupFileEntriesUserId = 0;
if (navigation.equals("mine") && themeDisplay.isSignedIn()) {
groupFileEntriesUserId = user.getUserId();
status = WorkflowConstants.STATUS_ANY;
}
total = DLAppServiceUtil.getGroupFileEntriesCount(repositoryId, groupFileEntriesUserId, folderId, null, status);
dlSearchContainer.setTotal(total);
results = DLAppServiceUtil.getGroupFileEntries(repositoryId, groupFileEntriesUserId, folderId, null, status, dlSearchContainer.getStart(), dlSearchContainer.getEnd(), dlSearchContainer.getOrderByComparator());
}
}
dlSearchContainer.setResults(results);
dlSearchContainer.setEmptyResultsMessage(fileEntryTypeId >= 0 ? LanguageUtil.format(request, "there-are-no-documents-or-media-files-of-type-x", HtmlUtil.escape(dlFileEntryTypeName)) : "there-are-no-documents-or-media-files-in-this-folder");
boolean portletTitleBasedNavigation = GetterUtil.getBoolean(portletConfig.getInitParameter("portlet-title-based-navigation"));
if (portletTitleBasedNavigation && (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) && (folderId != rootFolderId)) {
String redirect = ParamUtil.getString(request, "redirect");
if (Validator.isNotNull(redirect)) {
portletDisplay.setShowBackIcon(true);
portletDisplay.setURLBack(redirect);
}
Folder folder = DLAppServiceUtil.getFolder(folderId);
renderResponse.setTitle(folder.getName());
}
%>
<%
String searchContainerId = ParamUtil.getString(request, "searchContainerId");
%>
<%@ include file="/document_library/cast_result.jspf" %>
<%
FileVersion latestFileVersion = fileEntry.getFileVersion();
if ((user.getUserId() == fileEntry.getUserId()) || permissionChecker.isContentReviewer(user.getCompanyId(), scopeGroupId) || DLFileEntryPermission.contains(permissionChecker, fileEntry, ActionKeys.UPDATE)) {
latestFileVersion = fileEntry.getLatestFileVersion();
}
DLViewFileVersionDisplayContext dlViewFileVersionDisplayContext = null;
if (fileShortcut == null) {
dlViewFileVersionDisplayContext = dlDisplayContextProvider.getDLViewFileVersionDisplayContext(request, response, fileEntry.getFileVersion());
row.setPrimaryKey(String.valueOf(fileEntry.getFileEntryId()));
}
else {
dlViewFileVersionDisplayContext = dlDisplayContextProvider.getDLViewFileVersionDisplayContext(request, response, fileShortcut);
row.setPrimaryKey(String.valueOf(fileShortcut.getFileShortcutId()));
}
boolean draggable = false;
if (DLFileEntryPermission.contains(permissionChecker, fileEntry, ActionKeys.DELETE) || DLFileEntryPermission.contains(permissionChecker, fileEntry, ActionKeys.UPDATE)) {
draggable = true;
if (dlSearchContainer.getRowChecker() == null) {
dlSearchContainer.setRowChecker(entriesChecker);
}
if (dlSearchContainer.getRowMover() == null) {
dlSearchContainer.setRowMover(entriesMover);
}
}
Map rowData = new HashMap();
rowData.put("draggable", draggable);
rowData.put("title", fileEntry.getTitle());
row.setData(rowData);
String thumbnailSrc = DLUtil.getThumbnailSrc(fileEntry, latestFileVersion, themeDisplay);
%>
<%= StringUtil.shorten(StringUtil.upperCase(latestFileVersion.getExtension()), 3, StringPool.BLANK) %>
<%
row.setCssClass("entry-card lfr-asset-item");
%>
<%
PortletURL rowURL = liferayPortletResponse.createRenderURL();
rowURL.setParameter("mvcRenderCommandName", "/document_library/view_file_entry");
rowURL.setParameter("redirect", HttpUtil.removeParameter(currentURL, liferayPortletResponse.getNamespace() + "ajax"));
rowURL.setParameter("fileEntryId", String.valueOf(fileEntry.getFileEntryId()));
%>
<%@ include file="/document_library/file_entry_vertical_card.jspf" %>
<%@ include file="/document_library/file_entry_vertical_card.jspf" %>
<%
PortletURL rowURL = liferayPortletResponse.createRenderURL();
rowURL.setParameter("mvcRenderCommandName", "/document_library/view_file_entry");
rowURL.setParameter("redirect", HttpUtil.removeParameter(currentURL, liferayPortletResponse.getNamespace() + "ajax"));
rowURL.setParameter("fileEntryId", String.valueOf(fileEntry.getFileEntryId()));
%>
<%= latestFileVersion.getTitle() %>
<%
Map rowData = new HashMap();
boolean draggable = false;
if (DLFolderPermission.contains(permissionChecker, curFolder, ActionKeys.DELETE) || DLFolderPermission.contains(permissionChecker, curFolder, ActionKeys.UPDATE)) {
draggable = true;
if (dlSearchContainer.getRowChecker() == null) {
dlSearchContainer.setRowChecker(entriesChecker);
}
if (dlSearchContainer.getRowMover() == null) {
dlSearchContainer.setRowMover(entriesMover);
}
}
rowData.put("draggable", draggable);
rowData.put("folder", true);
rowData.put("folder-id", curFolder.getFolderId());
rowData.put("title", curFolder.getName());
row.setData(rowData);
row.setPrimaryKey(String.valueOf(curFolder.getPrimaryKey()));
%>
<%
row.setCssClass("entry-card lfr-asset-folder");
PortletURL rowURL = liferayPortletResponse.createRenderURL();
rowURL.setParameter("mvcRenderCommandName", "/document_library/view_folder");
rowURL.setParameter("redirect", currentURL);
rowURL.setParameter("folderId", String.valueOf(curFolder.getFolderId()));
%>
<%
PortletURL rowURL = liferayPortletResponse.createRenderURL();
rowURL.setParameter("mvcRenderCommandName", "/document_library/view_folder");
rowURL.setParameter("redirect", currentURL);
rowURL.setParameter("folderId", String.valueOf(curFolder.getFolderId()));
%>
<%
request.setAttribute("edit_file_entry.jsp-checkedOut", true);
%>
<%!
private static Log _log = LogFactoryUtil.getLog("com_liferay_document_library_web.document_library.view_entries_jsp");
%>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy