angle-left Luis Blanco Valderrama (Legislatura 2019-2023)
Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> journalArticleLocalService.fetchArticle(groupId, articleId)  [in template "32656#32690#43824" at line 14, column 27]

----
Tip: If the failing expression is known to be 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 resoucePrimKey = journalArtic...  [in template "32656#32690#43824" at line 14, column 1]
----
1<#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
3 
4<#assign assetTool = utilLocator.findUtil("lportal7.0ce-hook", "as.asac.template.tools.AssetTool") /> 
5<#assign dlTool = utilLocator.findUtil("lportal7.0ce-hook", "as.asac.template.tools.DLTool") /> 
6 
7<#assign title =.vars["reserved-article-title"].data /> 
8<#assign articleId =.vars["reserved-article-id"].data /> 
9<#assign smallImageUrl=.vars["reserved-article-small-image-url"].data /> 
10 
11<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() /> 
12<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
13 
14<#assign resoucePrimKey = journalArticleLocalService.fetchArticle(groupId, articleId).getResourcePrimKey() /> 
15 
16<#assign vocabularyNames = ['Legislatura']/> 
17<#assign categories = assetTool.getCategories(getterUtil.getLong(resoucePrimKey), vocabularyNames, themeDisplay)!/> 
18 
19 
20<div class="template concejal detail-template"> 
21	<div class="col-md-8"> 
22		 
23			<div class="section"> 
24				<#if Biografia.data!=""> 
25					<div class="text-wrapper"> 
26						<h4>BIOGRAFÍA</h4> 
27						<div class="text">${Biografia.data}</div> 
28					</div> 
29				</#if> 
30				 
31				<#if CV ??> 
32					<#assign fileEntry = dlTool.getDLFileEntryByPath(CV.getData()) !/> 
33					<#if validator.isNotNull(fileEntry)> 
34					<div class="accordion-style"> 
35						<#list categories as cat> 
36							<#if stringUtil.startsWith(cat.getName(), "2015")> 
37								<h5 class="title">CV</h5> 
38							<#else> 
39								<h5 class="title">Perfil y Trayectoria Profesional Completa</h5> 
40							</#if> 
41							 
42						</#list> 
43						 
44						<div class="content-wrapper"> 
45							<div class="document-wrapper"> 
46									<a class="document document-${fileEntry.getExtension()}" href="${CV.data}" title="CV">${fileEntry.getTitle()}</a> 
47							</div> 
48						</div> 
49					</div>	 
50					</#if> 
51				</#if> 
52			</div>	 
53			<div class="section"> 
54				<h4>TRANSPARENCIA</h4>			 
55				<#if validator.isNotNull(FuncionesAlcaldia.data)??> 
56					<#assign fileEntry = dlTool.getDLFileEntryByPath(FuncionesAlcaldia.getData()) !/> 
57					<#if validator.isNotNull(fileEntry)> 
58					<div class="accordion-style">	 
59						<h5 class="title">Funciones Alcaldía</h5> 
60						<div class="content-wrapper"> 
61							<div class="document-wrapper"> 
62								<a class="document document-${fileEntry.getExtension()}" href="${FuncionesAlcaldia.data}" title="Funciones Alcaldía">${fileEntry.getTitle()}</a> 
63							</div> 
64						</div> 
65					</div>	 
66					</#if> 
67				</#if> 
68				<#if validator.isNotNull(DelegacionesAlcaldia.data)??> 
69					<#assign fileEntry = dlTool.getDLFileEntryByPath(DelegacionesAlcaldia.getData()) !/> 
70					<#if validator.isNotNull(fileEntry)> 
71					<div class="accordion-style">	 
72						<h5 class="title">Delegaciones Alcaldía</h5> 
73						<div class="content-wrapper"> 
74							<div class="document-wrapper"> 
75								<a class="document document-${fileEntry.getExtension()}" href="${DelegacionesAlcaldia.data}" title="Funciones Alcaldía">${fileEntry.getTitle()}</a> 
76							</div> 
77						</div> 
78					</div>	 
79					</#if> 
80				</#if> 
81				<#if DeclaracionBienes.getSiblings()?has_content??> 
82					<div class="accordion-style">	 
83						<h5 class="title">Declaración de Bienes</h5> 
84						<div class="content-wrapper"> 
85							<#list DeclaracionBienes.getSiblings() as doc> 
86								<#assign fileEntry = dlTool.getDLFileEntryByPath(doc.getData()) !/> 
87								<#if validator.isNotNull(fileEntry)> 
88									<div class="document-wrapper"> 
89										<a class="document document-${fileEntry.getExtension()}" href="${doc.data}" title="Funciones Alcaldía">${fileEntry.getTitle()}</a> 
90									</div> 
91								</#if> 
92							</#list> 
93						</div>	 
94					</div> 
95				</#if> 
96				<#if DeclaracionIncompatibilidades.getSiblings()?has_content??> 
97					<div class="accordion-style">	 
98						<h5 class="title">Declaración de Incompatibilidades</h5> 
99						<div class="content-wrapper"> 
100							<#list DeclaracionIncompatibilidades.getSiblings() as doc> 
101								<#assign fileEntry = dlTool.getDLFileEntryByPath(doc.getData()) !/> 
102								<#if validator.isNotNull(fileEntry)> 
103									<div class="document-wrapper"> 
104										<a class="document document-${fileEntry.getExtension()}" href="${doc.data}" title="Funciones Alcaldía">${fileEntry.getTitle()}</a> 
105									</div> 
106								</#if> 
107							</#list> 
108						</div>	 
109					</div> 
110				</#if> 
111				 
112				<#if validator.isNotNull(SueldoBruto.data)??> 
113					<#assign fileEntry = dlTool.getDLFileEntryByPath(SueldoBruto.getData()) !/> 
114					<#if validator.isNotNull(fileEntry)> 
115					<div class="accordion-style">	 
116						<h5 class="title">Sueldo Bruto</h5> 
117						<div class="content-wrapper"> 
118							<div class="document-wrapper"> 
119									<a class="document document-${fileEntry.getExtension()}" href="${SueldoBruto.data}" title="Funciones Alcaldía">${fileEntry.getTitle()}</a> 
120							</div> 
121						</div> 
122					</div>	 
123					</#if> 
124				</#if> 
125			</div> 
126			 
127			<div class="section"> 
128				<h4>MÁS INFORMACIÓN</h4> 
129			 
130				<#if validator.isNotNull(Fotografias.data)??> 
131					<#assign files = DLFileEntryLocalService.getFileEntries(getterUtil.getLong(groupId), getterUtil.getLong(Fotografias.data))> 
132					<#assign imgsArray = [] /> 
133					 
134					 
135					<#list files as file> 
136						<#if stringUtil.startsWith(file.getMimeType(), "image")> 
137							<#assign imgsArray=imgsArray+ [file]>  
138						</#if> 
139					</#list> 
140					<#if validator.isNotNull(files)> 
141						<#if imgsArray?has_content> 
142						<div id="gallery${articleId}" class="gallery-wrapper accordion-style"> 
143							<h5 class="title">Fotografías</h5> 
144							<div class="content-wrapper"> 
145								<div class="row row-spacing"> 
146									<#list imgsArray as img>									 
147										<#assign imagePath2 = dlTool.getThumbnailByUuid(img.getUuid(), img.getGroupId(),2 )/> 
148										<#assign imagePath3 = dlTool.getThumbnailByUuid(img.getUuid(), img.getGroupId(),3 )/> 
149										<#if validator.isNotNull(imagePath2)> 
150										<div class="image-entry col-md-3"> 
151											<a class="figure image-wrapper" style="background-image:url(${htmlUtil.escape(imagePath3)})" href="${htmlUtil.escapeHREF(imagePath3)}" title="<@liferay.language key="image" /> ${img.getTitle()}"> 
152												<img class="image" src="${htmlUtil.escape(imagePath2)}" alt="<@liferay.language key="image" /> ${htmlUtil.escape(stringUtil.extractFirst(img.getTitle(),'.'))}"/> 
153											</a> 
154										</div> 
155										</#if> 
156									</#list> 
157								</div> 
158							</div> 
159						</div> 
160						</#if> 
161					</#if> 
162				</#if> 
163				<#if validator.isNotNull(Discursos.data)??> 
164					<#assign files = DLFileEntryLocalService.getFileEntries(getterUtil.getLong(groupId), getterUtil.getLong(Discursos.data))> 
165					<#assign docsArray = [] /> 
166					 
167					<#list files as file> 
168						<#if stringUtil.startsWith(file.getMimeType(), "application")> 
169							<#assign docsArray=docsArray+ [file]>  
170						</#if> 
171					</#list> 
172					 
173					<#if docsArray?has_content> 
174					<div id="gallery${articleId}" class="documents-wrapper accordion-style"> 
175						<h5 class="title">Discursos</h5> 
176						<div class="content-wrapper"> 
177							<ul class="documents unstyled inline"> 
178								<#assign count = 0 /> 
179								<#list docsArray as doc> 
180									<#assign docPath = dlTool.getPathByUuid(doc.getUuid(), doc.getGroupId())/> 
181									<#if validator.isNotNull(docPath)> 
182									<li class="document-entry"> 
183										<a class="document document-${doc.getExtension()}" href="${docPath}" title="${doc.getTitle()}">${doc.getTitle()}</a> 
184									</li> 
185									</#if> 
186									 
187								</#list> 
188							</ul> 
189						</div> 
190					</div> 
191					</#if> 
192				</#if> 
193 
194				<#if Agenda.data!=""> 
195				<div class="accordion-style"> 
196					<h5 class="title">Agenda</h5> 
197					<div class="content-wrapper"> 
198						<a href="${Agenda.data}" title="Agenda del Alcalde">Agenda del Alcalde</a> 
199					</div> 
200				</div> 
201				</#if> 
202 
203				<#if validator.isNotNull(Bandos.data)??> 
204					<#assign files = DLFileEntryLocalService.getFileEntries(getterUtil.getLong(groupId), getterUtil.getLong(Bandos.data))> 
205					<#assign docsArray = [] /> 
206					 
207					<#list files as file> 
208						<#if stringUtil.startsWith(file.getMimeType(), "application")> 
209							<#assign docsArray=docsArray+ [file]>  
210						</#if> 
211					</#list> 
212					 
213					<#if docsArray?has_content> 
214					<div id="gallery${articleId}" class="documents-wrapper accordion-style"> 
215						<h5 class="title-section title">Bandos</h5> 
216						<div class="content-wrapper"> 
217							<ul class="documents unstyled inline"> 
218								<#assign count = 0 /> 
219								<#list docsArray as doc> 
220									<#assign docPath = dlTool.getPathByUuid(doc.getUuid(), doc.getGroupId())/> 
221									<#if validator.isNotNull(docPath)> 
222									<li class="document-entry"> 
223										<a class="document document-${doc.getExtension()}" href="${docPath}" title="${doc.getTitle()}">${doc.getTitle()}</a> 
224									</li> 
225									</#if> 
226									 
227									</#list> 
228							</ul> 
229						</div> 
230					</div> 
231					</#if> 
232				</#if> 
233				<#if validator.isNotNull(Email.data)|| validator.isNotNull(Facebook.data)|| validator.isNotNull(Twitter.data)> 
234				<div class="accordion-style"> 
235					<h5 class="title">Contactar</h5> 
236					<div class="social-networks content-wrapper"> 
237						<ul class="list-unstyled list-inline"> 
238							<#if Email.data!=""> 
239							<li class="email"> 
240								<a class="fas fa-envelope" href="mailto:${Email.data}" title="Enviar Email"><span class="hide">${Email.data}</span></a> 
241							</li> 
242							</#if> 
243							<#if Facebook.data!=""> 
244							<li class="facebook "> 
245								<a class="fab fa-facebook" href="${Facebook.data}" title="Facebook"><span class="hide">${Facebook.data}</span></a> 
246							</li> 
247							</#if> 
248							<#if Twitter.data!=""> 
249							<li class="twitter"> 
250								<a class="fab fa-twitter" href="${Twitter.data}" title="Twitter"><span class="hide">${Twitter.data}</span></a> 
251							</li> 
252							</#if> 
253							<#if Instagram ??> 
254								<#if Instagram.data!=""> 
255								<li class="instagram"> 
256									<a class="fab fa-instagram" href="${Instagram.data}" title="Instagram"><span class="hide">${Instagram.data}</span></a> 
257								</li> 
258								</#if> 
259							</#if> 
260							 
261						</ul> 
262					</div> 
263				</div>	 
264				</#if> 
265			</div> 
266	</div> 
267	 
268	<#if validator.isNotNull(smallImageUrl)> 
269		<div class="col-md-4"> 
270			<div class="full image-wrapper" style="background-image:url(${htmlUtil.escape(dlTool.getThumbnail(smallImageUrl, 3))})"> 
271				<img class="image" src="${dlTool.getThumbnail(smallImageUrl, 3)}" alt="${title}" /> 
272			</div> 
273		</div> 
274	</#if> 
275</div>