Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <#setting time_zone = "GMT-03" />
- <#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
- <#assign DLFolderLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")>
- <#assign ClassNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")>
- <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
- <#assign campoNaoEncontrado = false />
- <#assign currentYear = .now?string('yyyy') />
- <#assign folders = []>
- <#list entries as entry>
- <#if ClassNameLocalService.getClassName(entry.classNameId).getClassName() == "com.liferay.document.library.kernel.model.DLFolder">
- <#assign folder = DLFolderLocalService.getDLFolder(entry.classPK) />
- <#assign childFolders = DLFolderLocalService.getFolders(folder.getGroupId(), folder.getFolderId()) />
- <#assign cur_file = {} />
- <#list childFolders as folderYear>
- <#if folderYear.getName() == currentYear>
- <#assign files = DLFileEntryLocalService.getFileEntries(folderYear.getGroupId(), folderYear.getFolderId())?sort_by("title")/>
- </#if>
- </#list>
- <#if files?has_content>
- <#list files as file>
- <#if !file.isInTrash() && !file.getTitle()?lower_case?contains("suplemento")>
- <#if (file.getExpandoBridge()?? && file.getExpandoBridge().hasAttribute('Data De Agendamento') && (!file.getExpandoBridge().getAttribute('Data De Agendamento')?has_content || fixDate(file.getExpandoBridge().getAttribute('Data De Agendamento')?datetime) <= .now?datetime))>
- <#assign cur_file = {
- "nome": file.getDescription()?has_content?then(file.getDescription(), file.getTitle()),
- "data": file.getCreateDate()?date?string("dd 'de' MMMM 'de' yyyy")?lower_case,
- "dataResponsivo": file.getCreateDate()?date?string("dd/MM/yyyy")?lower_case,
- "link": getArticleDLEntryUrl(file)
- } />
- <#elseif file.getExpandoBridge()?? && !file.getExpandoBridge().hasAttribute('Data De Agendamento')>
- <#assign campoNaoEncontrado = true />
- </#if>
- </#if>
- </#list>
- <#else>
- <p>Não há pasta de arquivos para esse ano</p>
- </#if>
- <#assign cur_folder = {
- "nome": folder.getName(),
- "icone": folder.getDescription(),
- "arquivo": cur_file
- } />
- <#assign folders = folders + [cur_folder] />
- </#if>
- </#list>
- <#if campoNaoEncontrado>
- <div class="alert alert-warning">
- <a
- href="/group/control_panel/manage?p_p_id=com_liferay_expando_web_portlet_ExpandoPortlet&p_p_lifecycle=0&p_p_state=maximized&p_p_mode=view&_com_liferay_expando_web_portlet_ExpandoPortlet_displayType=date&_com_liferay_expando_web_portlet_ExpandoPortlet_mvcPath=%2Fedit%2Fexpando.jsp&_com_liferay_expando_web_portlet_ExpandoPortlet_modelResource=com.liferay.document.library.kernel.model.DLFileEntry&_com_liferay_expando_web_portlet_ExpandoPortlet_type=3"
- target="_blank"
- >
- Crie um campo personalizado para documentos do tipo "data"
- </a> chamado "Data De Agendamento" em Painel de controle > Configuração > Campos Personalizados.
- </div>
- <#elseif folders?has_content>
- <div class="dlc-odd-wrapper row justify-content-center">
- <#list folders as folder>
- <div class="col-md-6">
- <div class="card card-horizontal card-type-directory bg-grey">
- <div class="card-body">
- <div class="card-row">
- <div class="autofit-col">
- <span class="sticker">
- <span class="inline-item">
- <#if folder.icone?has_content>
- ${folder.icone}
- <#else>
- <i class="lar la-folder-open"></i>
- </#if>
- </span>
- </span>
- </div>
- <div class="autofit-col autofit-col-expand autofit-col-gutters">
- <section class="autofit-section">
- <h4 class="d-none d-sm-block">${folder.nome}</h4>
- <h5 class="d-block d-sm-none"><b>${folder.nome}</b></h4>
- <a
- class="d-none d-md-block"
- href="${(folder.arquivo?has_content && folder.arquivo.link??)?then(folder.arquivo.link, '#')}"
- title="${folder.arquivo?has_content?then(folder.arquivo.nome, 'Nenhum arquivo encontrado.')}"
- target="_blank"
- >
- <h6>${folder.arquivo?has_content?then(folder.arquivo.nome?remove_ending(".pdf"), "Nenhum arquivo encontrado.")}</h6>
- <#if folder.arquivo.data??>
- <h6>${folder.arquivo.data}</h6>
- </#if>
- </a>
- </section>
- </div>
- </div>
- <div class="card-row justify-content-between justify-content-md-end">
- <#if folder.arquivo?has_content && folder.arquivo.link?? && folder.arquivo.dataResponsivo??>
- <div class="autofit-col">
- <a
- class="btn btn-link d-flex d-md-none"
- href="${folder.arquivo.link}"
- title="${folder.arquivo.nome}"
- >
- ${folder.arquivo.dataResponsivo}
- <span class="inline-item inline-item-after">
- <i class="las la-arrow-right"></i>
- </span>
- </a>
- </div>
- </#if>
- <div class="autofit-col">
- <a class="btn btn-link" href="/${folder.nome?lower_case?replace(' ', '-')}" >
- Ver todos
- <span class="inline-item inline-item-after">
- <i class="las la-arrow-right"></i>
- </span>
- </a>
- </div>
- </div>
- </div>
- </div>
- </div>
- </#list>
- </div>
- <#else>
- <div class="alert alert-warning">Selecione uma pasta para exibir o arquivo mais recente disponível.</div>
- </#if>
- <#function getArticleDLEntryUrl xmlValue>
- <#local docUrl = "" />
- <#if xmlValue?has_content>
- <#local jsonObject = xmlValue />
- <#local entryUuid = jsonObject.uuid />
- <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
- <#local dlFileEntry = DLFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
- <#local assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
- <#local assetRenderer = assetEntry.assetRenderer />
- <#local docUrl = assetRenderer.getURLDownload(themeDisplay) />
- </#if>
- <#return docUrl?remove_ending("&download=true") />
- </#function>
- <#function fixDate date>
- <#return (date?long + 3*60*60*1000)?number_to_datetime />
- </#function>
Add Comment
Please, Sign In to add comment