IggorModesto

Untitled

Nov 12th, 2020
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 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')?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>Ainda não há documento para ${currentYear}.</p>
  40. </#if>
  41.  
  42. <#assign cur_folder = {
  43. "nome": folder.getName(),
  44. "icone": folder.getDescription(),
  45. "arquivo": cur_file
  46. } />
  47.  
  48. <#assign folders = folders + [cur_folder] />
  49. <#else>
  50. <p>Favor, selecione uma pasta de documento na configuração</p>
  51. </#if>
  52. </#list>
  53.  
  54. <#if campoNaoEncontrado>
  55. <div class="alert alert-warning">
  56. <a
  57. 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"
  58. target="_blank"
  59. >
  60. Crie um campo personalizado para documentos do tipo "data"
  61. </a> chamado "Data De Agendamento" em Painel de controle > Configuração > Campos Personalizados.
  62. </div>
  63. <#elseif folders?has_content>
  64. <div class="dlc-odd-wrapper row justify-content-center">
  65. <#list folders as folder>
  66. <div class="col-lg-6">
  67. <div class="card card-horizontal card-type-directory bg-grey">
  68. <div class="card-body">
  69. <div class="card-row">
  70. <div class="autofit-col">
  71. <span class="sticker">
  72. <span class="inline-item">
  73. <#if folder.icone?has_content>
  74. ${folder.icone}
  75. <#else>
  76. <i class="lar la-folder-open"></i>
  77. </#if>
  78. </span>
  79. </span>
  80. </div>
  81. <div class="autofit-col autofit-col-expand autofit-col-gutters">
  82. <section class="autofit-section">
  83. <h4 class="d-none d-sm-block">${folder.nome}</h4>
  84. <h5 class="d-block d-sm-none"><b>${folder.nome}</b></h4>
  85. <a
  86. href="${(folder.arquivo?has_content && folder.arquivo.link??)?then(folder.arquivo.link, '#')}"
  87. title="${folder.arquivo?has_content?then(folder.arquivo.nome, 'Nenhum arquivo encontrado.')}"
  88. target="_blank"
  89. >
  90. <h6>${folder.arquivo?has_content?then(folder.arquivo.nome?remove_ending(".pdf"), "Nenhum arquivo encontrado.")}</h6>
  91. <#--
  92. <#if folder.arquivo.data??>
  93. <h6>${folder.arquivo.data}</h6>
  94. </#if>
  95. -->
  96. </a>
  97. </section>
  98. </div>
  99. </div>
  100.  
  101. <div class="card-row justify-content-end">
  102. <#--
  103. <#if folder.arquivo?has_content && folder.arquivo.link?? && folder.arquivo.dataResponsivo??>
  104. <div class="autofit-col">
  105. <a
  106. class="btn btn-link d-flex d-md-none"
  107. href="${folder.arquivo.link}"
  108. title="${folder.arquivo.nome}"
  109. >
  110. ${folder.arquivo.dataResponsivo}
  111. <span class="inline-item inline-item-after">
  112. <i class="las la-arrow-right"></i>
  113. </span>
  114. </a>
  115. </div>
  116. </#if>
  117. -->
  118. <div class="autofit-col">
  119. <a class="btn btn-link" href="/${folder.nome?lower_case?replace(' ', '-')}" >
  120. Ver todos
  121. <span class="inline-item inline-item-after">
  122. <i class="las la-arrow-right"></i>
  123. </span>
  124. </a>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. </#list>
  131. </div>
  132. <#else>
  133. <div class="alert alert-warning">Selecione uma pasta para exibir o arquivo mais recente disponível.</div>
  134. </#if>
  135.  
  136. <#function getArticleDLEntryUrl xmlValue>
  137. <#local docUrl = "" />
  138.  
  139. <#if xmlValue?has_content>
  140. <#local jsonObject = xmlValue />
  141. <#local entryUuid = jsonObject.uuid />
  142. <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
  143. <#local dlFileEntry = DLFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
  144. <#local assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
  145. <#local assetRenderer = assetEntry.assetRenderer />
  146. <#local docUrl = assetRenderer.getURLDownload(themeDisplay) />
  147. </#if>
  148.  
  149. <#return docUrl?remove_ending("&download=true") />
  150. </#function>
  151.  
  152. <#function fixDate date>
  153. <#return (date?long + 3*60*60*1000)?number_to_datetime />
  154. </#function>
Advertisement
Add Comment
Please, Sign In to add comment