Publicado 25/11/24
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing: ==> journalArticle.getExpirationDate() [in template "37845#37873#5251646" at line 13, column 27] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign expirationDate = journalArtic... [in template "37845#37873#5251646" at line 13, column 1] ----
1<#assign title = .vars['reserved-article-title'].data>
2<#assign articleId=.vars["reserved-article-id"].data />
3<#assign description=.vars["reserved-article-description"].data />
4<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data />
5<#assign date=.vars["reserved-article-display-date"].data />
6<#assign request = .vars['request']>
7<#assign dateFormatted = journalTool.getDateFormat(date, "dd/MM/yyyy", locale, timezone)>
8<#assign categories = journalTool.getCategories(scopeGroupId, articleId, []) !/>
9<#assign assetEntry = journalTool.getAssetEntryByArticleId(groupId, articleId) !/>
10<#assign journalArticle = journalTool.getJournalArticleByAssetEntry(assetEntry) !/>
11<#assign ddmStructureNameNormalize = "template-detail-${friendlyURLNormalizerTool.normalize(journalArticle.getDDMStructure().getName(localeUtil.getDefault()))}" />
12<#assign publishDate = dateFormatted/>
13<#assign expirationDate = journalArticle.getExpirationDate()/>
14
15
16
17<article class="template template-detail ${ddmStructureNameNormalize}">
18
19 <#if themeDisplay.getLayout().getFriendlyURL() != "/home">
20 <#assign showAssetTitle = getterUtil.getBoolean(portletTool.getPreference(request, "showAssetTitle"), false) !/>
21 <#assign portletDisplayName = themeDisplay.getPortletDisplay().getPortletName() !/>
22
23 <#if stringUtil.upperCase(layout.getName(locale)) == stringUtil.upperCase(title)>
24 <div class="portlet-title-wrapper hide">
25 <div class="h3 border-bottom">${title}</div>
26 </div>
27 <#elseif portletDisplayName == "com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet" && !showAssetTitle>
28 <div class="portlet-title-wrapper">
29 <div class="h3 border-bottom">${title}</div>
30 </div>
31 <#elseif portletDisplayName == "com_liferay_journal_content_web_portlet_JournalContentPortlet">
32 <div class="portlet-title-wrapper">
33 <div class="h3 border-bottom">${title}</div>
34 </div>
35 <#elseif portletDisplayName != "com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet" && portletDisplayName != "com_liferay_journal_content_web_portlet_JournalContentPortlet">
36 <div class="portlet-title-wrapper">
37 <div class="h3 border-bottom">${title}</div>
38 </div>
39 </#if>
40 </#if>
41
42 <section>
43
44 <#if validator.isNotNull(Procedencia.data) || validator.isNotNull(Departamento.data) >
45
46
47
48 <dl class="d-flex flex-wrap align-items-center">
49
50 <dt class="w-25 py-3 my-0">
51 <span class="important mr-2">Vigencia:</span>
52 </dt>
53 <dd class="w-75 py-3 my-0 border-bottom">Desde ${dateFormatted} hasta ${expirationDate?string["dd/MM/yyyy"]}</dd>
54
55
56 <#if validator.isNotNull(Procedencia.data)>
57 <dt class="w-25 py-3 my-0">
58 <span class="important mr-2">Procedencia:</span>
59 </dt>
60 <dd class="w-75 py-3 my-0 border-bottom">${Procedencia.data}</dd>
61 </#if>
62
63 <#if validator.isNotNull(Departamento.data)>
64 <dt class="w-25 py-3 my-0">
65 <span class="important mr-2">Departamento:</span>
66 </dt>
67 <dd class="w-75 py-3 my-0 border-bottom">${Departamento.data}</dd>
68 </#if>
69
70 <#assign sortedCategories = categories?sort_by("parentCategoryId")>
71 <#list sortedCategories as cat>
72 <#if cat.getParentCategoryId() == 0>
73 <dt class="w-25 py-3 my-0">
74 <span class="important mr-2">Tipo:</span>
75 </dt>
76 <dd class="w-75 py-3 my-0 border-bottom text-capitalize">
77 ${cat.getName()}
78 </dd>
79 <#else>
80 <dt class="w-25 py-3 my-0">
81 <span class="important mr-2">Subtipo:</span>
82 </dt>
83 <dd class="w-75 py-3 my-0 border-bottom text-capitalize">
84 ${cat.getName()}
85 </dd>
86 </#if>
87 </#list>
88
89
90 </dl>
91 </#if>
92
93 </section>
94
95 <#if validator.isNotNull(Documentos.DocTipo.data) || validator.isNotNull(Documentos.Anexo.data)>
96 <div class="accordion mt-4" id="accordion-${articleId}">
97 <div class="card card-clean expand">
98 <div id="headerDocuments" class="card-header documents">
99 <div class="card-title" data-toggle="collapse" data-target="#collapseDocuments-${articleId}" aria-expanded="false" aria-controls="collapseDocuments-${articleId}">${languageUtil.get(locale, "documents")}</div>
100 <div id="collapseDocuments-${articleId}" class="collapse show" aria-labelledby="headerDocuments-${articleId}" data-parent="#accordion-${articleId}">
101 <div class="card-body py-2">
102 <div class="documents-wrapper">
103 <ul class="documents list-unstyled">
104
105 <#if validator.isNotNull(Documentos.DocTipo.data)>
106 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Documentos.DocTipo.getData()) !/>
107 <#assign ext = dlFileEntry.getExtension() !/>
108 <#assign formatTam = dlTool.getHumanFileSize(dlFileEntry.getSize()) !/>
109 <#assign titleDocTipo = dlFileEntry.getTitle() !/>
110 <li class="document-entry">
111 <span>Edicto, anuncio o texto de la notificación:</span>
112 <span class="d-block">
113 <a href="${Documentos.DocTipo.getData()}" class="document document-${dlFileEntry.getExtension()}" data-type="${dlFileEntry.getExtension()}" title="${titleDocTipo}" target="_blank">
114 <span class="title important">${titleDocTipo}</span>
115 <span class="meta">(${ext}, ${formatTam})</span>
116 </a>
117 </span>
118 </li>
119
120
121 </#if>
122
123 <#if validator.isNotNull(Documentos.Anexo.data)>
124 <#assign dlFileEntry = dlTool.getDLFileEntryByPath(Documentos.Anexo.getData()) !/>
125 <#assign extAnexo = dlFileEntry.getExtension() !/>
126 <#assign formatTamAnexo = dlTool.getHumanFileSize(dlFileEntry.getSize()) !/>
127 <#assign titleAnexo = dlFileEntry.getTitle() !/>
128
129 <li class="document-entry">
130 <span>Anexo:</span>
131 <span class="d-block">
132 <a href="${Documentos.Anexo.getData()}" class="document document-${dlFileEntry.getExtension()}" data-type="${dlFileEntry.getExtension()}" title="${titleAnexo}" target="_blank">
133 <span class="title important">${dlFileEntry.getTitle()}</span>
134 <span class="meta">(${extAnexo}, ${formatTamAnexo})</span>
135 </a>
136 </span>
137 </li>
138
139
140 </#if>
141
142 </ul>
143 </div>
144 </div>
145 </div>
146 </div>
147 </div>
148 </div>
149 </#if>
150</article>