Publicador de contenidos

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> BuscadorAgendaService.getEvento(calendarBookingId?number, themeDisplay.getLocale(), themeDisplay.getPortalURL())  [in template "20907#20945#44248578" at line 9, column 23]

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