Eduki publikatzailea

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