IggorModesto

Untitled

Nov 5th, 2020
2,086
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 7.04 KB | None | 0 0
  1. <#setting time_zone = "GMT-03" />
  2.  
  3. <#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")>
  4. <#assign DLFolderLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFolderLocalService")>
  5. <#assign ClassNameLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameLocalService")>
  6. <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
  7. <#assign campoNaoEncontrado = false />
  8. <#assign currentYear = .now?string('yyyy') />
  9.  
  10. <#assign folders = []>
  11. <#list entries as entry>
  12.   <#if ClassNameLocalService.getClassName(entry.classNameId).getClassName() == "com.liferay.document.library.kernel.model.DLFolder">
  13.     <#assign folder = DLFolderLocalService.getDLFolder(entry.classPK) />
  14.     <#assign childFolders = DLFolderLocalService.getFolders(folder.getGroupId(), folder.getFolderId()) />
  15.     <#assign cur_file = {} />
  16.  
  17.     <#list childFolders as folderYear>
  18.       <#if folderYear.getName() == currentYear>
  19.         <#assign files = DLFileEntryLocalService.getFileEntries(folderYear.getGroupId(), folderYear.getFolderId())?sort_by("title")/>
  20.       </#if>
  21.     </#list>
  22.    
  23.     <#if files?has_content>
  24.       <#list files as file>
  25.         <#if !file.isInTrash() && !file.getTitle()?lower_case?contains("suplemento")>
  26.           <#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))>
  27.             <#assign cur_file = {
  28.              "nome": file.getDescription()?has_content?then(file.getDescription(), file.getTitle()),
  29.              "data": file.getCreateDate()?date?string("dd 'de' MMMM 'de' yyyy")?lower_case,
  30.              "dataResponsivo": file.getCreateDate()?date?string("dd/MM/yyyy")?lower_case,
  31.              "link": getArticleDLEntryUrl(file)
  32.            } />
  33.           <#elseif file.getExpandoBridge()?? && !file.getExpandoBridge().hasAttribute('Data De Agendamento')>
  34.             <#assign campoNaoEncontrado = true />
  35.           </#if>
  36.         </#if>
  37.       </#list>
  38.     <#else>
  39.       <p>Não há pasta de arquivos para esse ano</p>
  40.     </#if>
  41.     <#assign cur_folder = {
  42.      "nome": folder.getName(),
  43.      "icone": folder.getDescription(),
  44.      "arquivo": cur_file
  45.    } />
  46.     <#assign folders = folders + [cur_folder] />
  47.   </#if>
  48. </#list>
  49.  
  50. <#if campoNaoEncontrado>
  51.   <div class="alert alert-warning">
  52.     <a
  53.      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"
  54.      target="_blank"
  55.    >
  56.       Crie um campo personalizado para documentos do tipo "data"
  57.     </a> chamado "Data De Agendamento" em Painel de controle > Configuração > Campos Personalizados.
  58.   </div>
  59. <#elseif folders?has_content>
  60.   <div class="dlc-odd-wrapper row justify-content-center">
  61.     <#list folders as folder>
  62.       <div class="col-md-6">
  63.         <div class="card card-horizontal card-type-directory bg-grey">
  64.           <div class="card-body">
  65.             <div class="card-row">
  66.               <div class="autofit-col">
  67.                 <span class="sticker">
  68.                   <span class="inline-item">
  69.                     <#if folder.icone?has_content>
  70.                       ${folder.icone}
  71.                     <#else>
  72.                       <i class="lar la-folder-open"></i>
  73.                     </#if>
  74.                   </span>
  75.                 </span>
  76.               </div>
  77.               <div class="autofit-col autofit-col-expand autofit-col-gutters">
  78.                 <section class="autofit-section">
  79.                   <h4 class="d-none d-sm-block">${folder.nome}</h4>
  80.                   <h5 class="d-block d-sm-none"><b>${folder.nome}</b></h4>
  81.                   <a
  82.                    class="d-none d-md-block"
  83.                    href="${(folder.arquivo?has_content && folder.arquivo.link??)?then(folder.arquivo.link, '#')}"
  84.                    title="${folder.arquivo?has_content?then(folder.arquivo.nome, 'Nenhum arquivo encontrado.')}"
  85.                    target="_blank"
  86.                  >
  87.                     <h6>${folder.arquivo?has_content?then(folder.arquivo.nome?remove_ending(".pdf"), "Nenhum arquivo encontrado.")}</h6>
  88.                     <#if folder.arquivo.data??>
  89.                       <h6>${folder.arquivo.data}</h6>
  90.                     </#if>
  91.                   </a>
  92.                 </section>
  93.               </div>
  94.             </div>
  95.  
  96.             <div class="card-row justify-content-between justify-content-md-end">
  97.               <#if folder.arquivo?has_content && folder.arquivo.link?? && folder.arquivo.dataResponsivo??>
  98.                 <div class="autofit-col">
  99.                   <a
  100.                    class="btn btn-link d-flex d-md-none"
  101.                    href="${folder.arquivo.link}"
  102.                    title="${folder.arquivo.nome}"
  103.                  >                
  104.                     ${folder.arquivo.dataResponsivo}
  105.                     <span class="inline-item inline-item-after">
  106.                       <i class="las la-arrow-right"></i>
  107.                     </span>
  108.                   </a>
  109.                 </div>
  110.               </#if>
  111.               <div class="autofit-col">
  112.                 <a class="btn btn-link" href="/${folder.nome?lower_case?replace(' ', '-')}" >
  113.                   Ver todos
  114.                   <span class="inline-item inline-item-after">
  115.                     <i class="las la-arrow-right"></i>
  116.                   </span>
  117.                 </a>                  
  118.               </div>
  119.             </div>
  120.           </div>
  121.         </div>        
  122.       </div>
  123.     </#list>
  124.   </div>
  125. <#else>
  126.   <div class="alert alert-warning">Selecione uma pasta para exibir o arquivo mais recente disponível.</div>
  127. </#if>
  128.  
  129. <#function getArticleDLEntryUrl xmlValue>
  130.   <#local docUrl = "" />
  131.  
  132.   <#if xmlValue?has_content>
  133.     <#local jsonObject = xmlValue />
  134.     <#local entryUuid = jsonObject.uuid />
  135.     <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
  136.     <#local dlFileEntry = DLFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
  137.     <#local assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
  138.     <#local assetRenderer = assetEntry.assetRenderer />
  139.     <#local docUrl = assetRenderer.getURLDownload(themeDisplay) />
  140.   </#if>
  141.  
  142.   <#return docUrl?remove_ending("&download=true") />
  143. </#function>
  144.  
  145. <#function fixDate date>
  146.   <#return (date?long + 3*60*60*1000)?number_to_datetime />
  147. </#function>
Advertisement
Add Comment
Please, Sign In to add comment