Eduki publikatzailea

Errorea gertatu da txantiloia prozesatzerakoan.
Java method "com.sun.proxy.$Proxy1002.getCalendarBooking(long)" threw an exception when invoked on com.sun.proxy.$Proxy1002 object "com.liferay.calendar.service.impl.CalendarBookingLocalServiceImpl@4a80f05a"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign calendarBooking = CalendarBoo...  [in template "20907#20945#44248578" at line 42, column 5]
----
1<#assign HttpUtil = staticUtil["com.liferay.portal.kernel.util.HttpUtil"] /> 
2<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
3<#assign AssetLinkLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetLinkLocalService") /> 
4<#assign DLFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") /> 
5<#assign DlAppServiceUtil = staticUtil["com.liferay.document.library.kernel.service.DLAppServiceUtil"] /> 
6<#assign url = themeDisplay.getURLPortal()+themeDisplay.getURLCurrent()> 
7<#assign calendarBookingId = HttpUtil.getParameter(url,"entryId")> 
8<#assign instanceIndex = HttpUtil.getParameter(url,"instanceIndex")> 
9<#assign parameters = HttpUtil.getParameterMap(url)> 
10<#list parameters as key, parameter> 
11    <#if key?contains("entryId") && parameter[0]!=""> 
12        <#assign calendarBookingId = parameter[0]> 
13    <#elseif key?contains("instanceIndex") && parameter[0]!=""> 
14        <#assign instanceIndex = parameter[0]> 
15    </#if> 
16</#list> 
17 
18<#assign BuscadorAgendaService = serviceLocator.findService("net.izfe.gipuzkoa.agenda.buscador.api.BuscadorAgendaService") /> 
19<#assign CalendarBookingLocalService = serviceLocator.findService("com.liferay.calendar.service.CalendarBookingLocalService") /> 
20<#assign currentCompleteURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
21 
22<#assign calendarBookingIdNumber = -1> 
23<#attempt> 
24  <#if calendarBookingId != "" > 
25    <#assign calendarBookingIdNumber = calendarBookingId?number> 
26  </#if> 
27<#recover> 
28  <#assign calendarBookingIdNumber = -1> 
29</#attempt> 
30 
31<#assign instanceIndexNumber = -1> 
32<#attempt> 
33  <#if instanceIndex != "" > 
34    <#assign instanceIndexNumber = instanceIndex?number> 
35  </#if> 
36<#recover> 
37  <#assign instanceIndexNumber = -1> 
38</#attempt> 
39 
40 
41<#if calendarBookingIdNumber != -1 > 
42    <#assign calendarBooking = CalendarBookingLocalService.getCalendarBooking(calendarBookingIdNumber) /> 
43    <#if instanceIndexNumber != -1 > 
44        <#assign evento = BuscadorAgendaService.getEvento(calendarBookingIdNumber, instanceIndexNumber, themeDisplay.getLocale(), themeDisplay.getPortalURL()) /> 
45    <#else> 
46    <#assign evento = BuscadorAgendaService.getEvento(calendarBookingIdNumber, themeDisplay.getLocale(), themeDisplay.getPortalURL()) /> 
47    </#if> 
48    <#assign images_folder = themeDisplay.getPathThemeImages() /> 
49    
50	<#assign fileEntryId = "" /> 
51 	<#assign assetEntry = AssetEntryLocalService.fetchEntry("com.liferay.calendar.model.CalendarBooking", evento.calendarBookingId) /> 
52 	<#assign assetLinks = AssetLinkLocalService.getLinks(assetEntry.getEntryId()) /> 
53 	<#list assetLinks as assetLink> 
54 		<#if assetLink.getEntryId1() != assetEntry.getEntryId()> 
55 			<#assign assetLinkEntry = AssetEntryLocalService.getAssetEntry(assetLink.getEntryId1()) /> 
56 			 
57 			<#if assetLinkEntry.mimeType?starts_with("image/")> 
58 				<#assign dlFileEntry = DLFileEntryLocalService.getDLFileEntry(assetLinkEntry.getClassPK()) /> 
59 				<#assign fileEntryId = dlFileEntry.getFileEntryId() /> 
60 			</#if> 
61 		</#if> 
62 	</#list> 
63 
64    <@liferay_util["html-top"]> 
65        <#if evento.title?has_content > 
66            <meta property="og:title" content='${evento.title}'> 
67        </#if> 
68        <#if evento.imagenPath?has_content > 
69            <meta property="og:image" content='${evento.imagenPath}'> 
70        </#if> 
71        <#if evento.direccion?has_content > 
72            <meta property="og:description" content='${evento.direccion}'> 
73        </#if> 
74        <meta property="og:url" content='${currentCompleteURL}'> 
75    </@> 
76 
77    <div class="container mt-4 mb-4">   
78        <div class="row"> 
79            <div class="col-12 col-md-8"> 
80                <h2 class="izfe-semibold mb-4"> 
81                    ${evento.title} 
82                </h2> 
83 
84                <!-- SEPARAR FECHAS Y HORAS--> 
85 
86                <#attempt> 
87                    <#assign fechaInicio = evento.getStartDate() /> 
88                <#recover> 
89                    <#assign fechaInicio = "" /> 
90                </#attempt> 
91 
92                <#attempt> 
93                    <#assign horaInicio = evento.getStartOnlyTime() /> 
94                <#recover> 
95                    <#assign horaInicio = "" /> 
96                </#attempt> 
97 
98                <#attempt> 
99                    <#assign fechaFin = evento.getEndDate() /> 
100                <#recover> 
101                    <#assign fechaFin = "" /> 
102                </#attempt> 
103 
104                <#attempt> 
105                    <#assign horaFin = evento.getEndOnlyTime() /> 
106                <#recover> 
107                    <#assign horaFin = "" /> 
108                </#attempt> 
109 
110                <div class="izfe-bg-blue-dark p-2"> 
111                    <#if fechaInicio == fechaFin > 
112                        <div class="d-flex align-items-center ml-3"> 
113                            <div class="izfe-icon-calendar-time-white"></div> 
114                            <p class="text-white izfe-semibold mb-0 ml-2 izfe-h4"> 
115 
116                                <#if fechaInicio != "" > 
117                                    <span class="mr-1"> 
118                                        ${fechaInicio} 
119                                    </span> 
120                                </#if> 
121 
122                                <#if fechaFin != "" && fechaFin != fechaInicio > 
123
124                                    <span class="ml-1"> 
125                                        ${fechaFin} 
126                                    </span> 
127                                <#elseif !evento.isAllDay()> 
128                                    <span class="ml-3 mr-1"> 
129                                        ${horaInicio} 
130                                    </span> 
131
132                                    <span class="ml-1"> 
133                                        ${horaFin} 
134                                    </span> 
135                                </#if>                    
136                            </p> 
137                        </div> 
138                    <#else> 
139                        <div class="d-flex align-items-center ml-3"> 
140                            <div class="izfe-icon-calendar-time-white"></div> 
141                            <p class="text-white izfe-semibold mb-0 ml-2 izfe-h4"> 
142                                ${fechaInicio} 
143                            </p> 
144                            <span class="text-white izfe-semibold ml-2 mr-2">-</span> 
145                            <p class="text-white izfe-semibold mb-0 izfe-h4"> 
146                                ${fechaFin} 
147                            </p> 
148                        </div> 
149                    </#if> 
150                </div> 
151                 
152                <#if evento.localizacion?has_content || evento.direccion?has_content> 
153                    <div class="izfe-evento-localizacion-direccion d-flex align-items-center pl-3 pr-3 pt-2 pb-2">              
154                        <div class="d-flex flex-column flex-lg-row align-items-lg-center">                            
155                            <#if evento.urlDireccion != ""> 
156                                <a class="ml-2 d-flex align-items-center" href="${evento.urlDireccion}" target="_blank"> 
157                                    <div class="izfe-icon-ubicacion-blue"></div> 
158                                    <p class="izfe-semibold mb-0 ml-2 izfe-h5"> 
159                                        <#if evento.direccion?has_content >                                 
160                                            ${evento.direccion} 
161                                        </#if> 
162                                        <#if evento.direccion?has_content && evento.localizacion?has_content> 
163                                            <span class="ml-1 mr-1">/</span> 
164                                        </#if> 
165                                        <#if evento.localizacion?has_content > 
166                                            ${evento.localizacion}  
167                                        </#if>                             
168                                    </p> 
169                                </a> 
170                            <#else> 
171                                <div class="ml-2 d-flex align-items-center"> 
172                                    <div class="izfe-icon-ubicacion"></div> 
173                                    <p class="izfe-semibold mb-0 ml-2 izfe-h5"> 
174                                        <#if evento.direccion?has_content >                               
175                                            ${evento.direccion}</p> 
176                                        </#if> 
177                                        <#if evento.direccion?has_content && evento.localizacion?has_content> 
178                                            <span class="ml-1 mr-1">/</span> 
179                                        </#if> 
180                                        <#if evento.localizacion?has_content > 
181                                            ${evento.localizacion}  
182                                        </#if> 
183                                    </p> 
184                                </div> 
185                            </#if> 
186                        </div>  
187                    </div> 
188                </#if> 
189 
190                <div class="row mt-4"> 
191                    <div class="col-12" id="izfe-evento-descripcion"> 
192                        <#if evento.descripcion != ""> 
193                            ${evento.descripcion} 
194                            <#--  ${HtmlUtil.render(evento.descripcion)}  --> 
195                        </#if> 
196                    </div>     
197                </div>    
198            </div> 
199 
200            <div class="col-12 col-md-4"> 
201                <#attempt> 
202					<#if fileEntryId?has_content> 
203						<@adaptive_media_image["img"] 
204                            alt="" 
205							fileVersion=DlAppServiceUtil.getFileEntry(fileEntryId).getFileVersion() 
206							class="w-100 mb-3" /> 
207                    <#elseif evento.imagenPath != "" > 
208                        <img  
209                            alt="${evento.title?replace('"',' ')}"  
210                            title="${evento.title?replace('"',' ')}"  
211                            class="w-100 mb-3"  
212                            src="${evento.imagenPath}" 
213                        /> 
214                    <#else> 
215                        <img  
216                            alt="img-not-found"  
217                            title="img-not-found"  
218                            class="w-100" 
219                            src="${images_folder}/izfe/img-not-found.png"  
220                        />  
221                    </#if> 
222                <#recover> 
223 
224                </#attempt> 
225                 
226 
227                <#assign listaCategorias = evento.listaCategorias /> 
228 
229                <#if listaCategorias?has_content > 
230                    <div class="d-flex flex-wrap"> 
231                        <#list listaCategorias as categoria > 
232                            <p class="text-blue-second text-uppercase mb-0 mr-2"> 
233                                ${categoria.getName()} 
234                            </p> 
235                        </#list> 
236                    </div> 
237 
238                    <hr/> 
239                </#if> 
240 
241                <#if evento.webEvento != "" > 
242                    <a class="izfe-btn-blue d-block text-center" href="${evento.webEvento}" target="_blank"> 
243                        <@liferay.language key="DGN.mas-informacion-evento" /> 
244                    </a> 
245                </#if> 
246            </div>  
247        </div> 
248                 
249     
250 
251        <div class="row mt-4 mb-4" id="izfe-evento-relacionados"> 
252            <#assign categoriasEventoActual = evento.listaCategorias /> 
253            <#assign categoriasIds = [] /> 
254 
255            <#if categoriasEventoActual?has_content > 
256                <#list categoriasEventoActual as categoriaEventoActual > 
257                    <#assign categoriasIds = categoriasIds + [categoriaEventoActual.categoryId] /> 
258                </#list> 
259            </#if> 
260 
261 
262            <#assign eventosRelacionados = BuscadorAgendaService.listaProximosEventos(themeDisplay.getCompanyId(), themeDisplay.getLocale(), themeDisplay.getPortalURL(), categoriasIds,  
263                3, [themeDisplay.getLayout().getGroupId()]) /> 
264             
265            <#if eventosRelacionados?has_content> 
266                <#assign mostrarTituloRelacionados = true> 
267                <#assign contadorRelacionados = 0 > 
268                 
269                <#list eventosRelacionados as eventoRelacionado> 
270                    <#if eventoRelacionado.calendarBookingId != evento.calendarBookingId > 
271 
272                        <#attempt> 
273                            <#assign fechaInicioRelacionado = eventoRelacionado.getStartDate() /> 
274                        <#recover> 
275                            <#assign fechaInicioRelacionado = "" /> 
276                        </#attempt> 
277 
278                        <#attempt> 
279                            <#assign horaInicioRelacionado = eventoRelacionado.getStartOnlyTime() /> 
280                        <#recover> 
281                            <#assign horaInicioRelacionado = "" /> 
282                        </#attempt> 
283 
284                        <#attempt> 
285                            <#assign fechaFinRelacionado = eventoRelacionado.getEndDate() /> 
286                        <#recover> 
287                            <#assign fechaFinRelacionado = "" /> 
288                        </#attempt> 
289 
290                        <#attempt> 
291                            <#assign horaFinRelacionado = eventoRelacionado.getEndOnlyTime() /> 
292                        <#recover> 
293                            <#assign horaFinRelacionado = "" /> 
294                        </#attempt> 
295 
296 
297                        <#if mostrarTituloRelacionados > 
298                            <div class="col-12"> 
299                                <h3 class="izfe-semibold mb-3"> 
300                                    <@liferay.language key="DGN.otros-eventos"/> 
301                                </h3> 
302                            </div> 
303                        </#if> 
304 
305                        <#if contadorRelacionados < 3 > 
306                            <div class="izfe-agenda-relacionado col-12 col-lg-4 mb-3 mb-lg-0"> 
307                                <#assign urlRelacionado="/agenda/evento?entryId="+eventoRelacionado.calendarBookingId /> 
308                                <#if eventoRelacionado.isRecurring() > 
309                                    <#assign urlRelacionado=urlRelacionado+"&instanceIndex=" + eventoRelacionado.getInstanceIndex() /> 
310                                </#if> 
311                                <a href="${urlRelacionado}"> 
312                                    <div class="izfe-bg-blue-dark-second eventoRelacionado p-2 "> 
313                                        <div class="text-white d-flex align-items-center"> 
314                                            <span class="d-none"> 
315                                                ${fechaInicioRelacionado} - ${fechaFinRelacionado} 
316                                                 
317                                            </span> 
318                                            <#if fechaInicioRelacionado != "" > 
319                                                <p class="small text-white mr-1"> 
320                                                    ${fechaInicioRelacionado} 
321                                                </p> 
322                                            </#if> 
323                                            <#if fechaFinRelacionado != "" && fechaFinRelacionado != fechaInicioRelacionado > 
324                                                <p>-</p> 
325                                                <p class="small text-white ml-1"> 
326                                                    ${fechaFinRelacionado} 
327                                                </p> 
328                                            <#else> 
329                                                <p class="small text-white ml-2 mr-1"> 
330                                                    ${horaInicioRelacionado} 
331                                                </p> 
332                                                <p>-</p> 
333                                                <p class="small text-white ml-1"> 
334                                                    ${horaFinRelacionado} 
335                                                </p> 
336                                            </#if> 
337                                        </div> 
338                                        <h3 class="text-white izfe-h4">${eventoRelacionado.title}</h3> 
339                                        <p class="small text-white">${eventoRelacionado.localizacion}</p> 
340                                    </div> 
341                                </a> 
342                            </div> 
343                        </#if> 
344                        <#assign contadorRelacionados++ /> 
345                        <#assign mostrarTituloRelacionados = false /> 
346                    </#if> 
347                </#list> 
348            </#if> 
349        </div> 
350    </div> 
351 
352 
353    <style> 
354        #izfe-evento-descripcion *{ 
355            font-family: 'Poppins', Helvetica, Arial, sans-serif !important; 
356            font-size: 15px !important; 
357            line-height: 20px; 
358
359        #izfe-evento-relacionados a{ 
360            text-decoration: none !important; 
361
362        #izfe-evento-relacionados a:hover *{ 
363            opacity: .7; 
364        }    
365 
366        #izfe-evento-relacionados .eventoRelacionado { 
367            min-height: 175px; 
368
369        .izfe-evento-localizacion-direccion{ 
370            border: 1.5px solid #004996; 
371
372 
373        .izfe-float-left{ 
374            float: left; 
375
376        .izfe-float-right{ 
377            float: left; 
378
379    </style> 
380    <script> 
381	$(document).ready(function() { 
382		var canonicalUrlParameters = ""; 
383		var currentUrl = window.location.href; 
384		var urlParams = new URLSearchParams(window.location.search); 
385		urlParams.forEach(function(value, key) { 
386			if (""==canonicalUrlParameters) { 
387				canonicalUrlParameters = "?"; 
388			} else { 
389				canonicalUrlParameters += "&"; 
390
391			canonicalUrlParameters += key + "=" + value; 
392		}); 
393		 
394		// Obtener el <link rel="canonical"> 
395		var canonicalLink = $('link[rel="canonical"]'); 
396		canonicalLink.attr('href',canonicalLink.attr('href') + canonicalUrlParameters); 
397 
398		// Obtener todos los <link rel="alternate"> 
399		$('link[rel="alternate"]').each(function() { 
400			$(this).attr('href',$(this).attr('href') + canonicalUrlParameters); 
401		}); 
402	}); 
403	</script> 
404</#if>