Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> ADTUtil.getCalendarData(calendarBooking)  [in template "33534#33569#92928" at line 4, column 49]

----
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 calendarData = ADTUtil.getCal...  [in template "33534#33569#92928" at line 4, column 25]
----
1<#if entries?has_content> 
2	<div class="events-detail"> 
3		<#list entries as calendarBooking>		 
4			<#assign calendarData = ADTUtil.getCalendarData(calendarBooking)/> 
5				<div id="event${calendarBooking.getCalendarBookingId()}" class="event template template-calevent-detail"> 
6					<div class="title-wrapper"> 
7						<div class="title h3">${calendarBooking.getTitle(locale)}</div>	 
8					</div> 
9					<div class="container p-0"> 
10						<div class="row mt-4"> 
11							<div class="col-sm-8 col-12"> 
12							 
13							<#if validator.isNotNull(calendarBooking.getDescription(locale))> 
14								<div class="description"> 
15									${calendarBooking.getDescription(locale)} 
16								</div> 
17							</#if> 
18							<#if validator.isNotNull(calendarData) && validator.isNotNull(ADTUtil.getGallery(calendarData, themeDisplay))> 
19								<section class="image-gallery"> 
20									<div class="h4">${languageUtil.get(locale, "image-gallery")}</div> 
21									${ADTUtil.getGalleryTool(calendarData, themeDisplay)}				 
22								</section> 
23							</#if> 
24							<#if validator.isNotNull(calendarData) && validator.isNotNull(ADTUtil.getDocuments(calendarData, themeDisplay))> 
25								<section class="documents"> 
26								<div class="h4">${languageUtil.get(locale, "documents")}</div> 
27								${ADTUtil.getDocumentsTool(calendarData, themeDisplay)} 
28								</section> 
29							</#if> 
30							</div> 
31							<div class="col-sm-4 col-12 overflow-hidden"> 
32								<#assign imagePath = ADTUtil.getImagePath(calendarData.getImageUuid(), 3 , calendarBooking.getGroupId(), themeDisplay)/> 
33								<#if validator.isNotNull(calendarData) && validator.isNotNull(imagePath)> 
34									<a href="${imagePath}" class="lightbox image-wrapper image-wrapper-cover image-wrapper-style" style="background-image: url(${imagePath}); background-size: cover;"> 
35										<img class='image' src="${imagePath}" alt="${calendarBooking.getTitle(locale)}"/> 
36									</a> 
37								</#if> 
38							 
39								<#assign inicio = ADTUtil.formatDate(calendarBooking.getStartTime(), "EEEE, dd MMMM YYYY" ,themeDisplay)/> 
40								<div class="text-metadata date-wrapper card"> 
41									<div class="card-header">${languageUtil.get(locale, "date")}</div> 
42									<div class="card-body"> 
43										<div class="date"> 
44											<span class="date-begin"> 
45												<span class="icon-calendar"><!--icon--></span> 
46												${inicio} 
47											</span> 
48										</div> 
49										<div class="hour-wrapper"> 
50											<span class="icon-time"><!--icon--></span> 
51											<span class="hour"> 
52												<#if calendarBooking.getAllDay()> 
53													${languageUtil.format(locale, 'all-day',calendarBooking.getAllDay())} 
54												<#else> 
55													${ADTUtil.formatDate(calendarBooking.getStartTime(), "HH:mm" ,themeDisplay)} - ${ADTUtil.formatDate(calendarBooking.getEndTime(), "HH:mm" ,themeDisplay)}  
56												</#if> 
57											</span> 
58										</div> 
59									</div> 
60								</div> 
61							 
62							<section class="gmaps card"> 
63								<div class="card-header">${languageUtil.get(locale, "location")}</div> 
64							 
65							<#if validator.isNotNull(calendarData.getLatitude()) && validator.isNotNull(calendarData.getLongitude())> 
66								<#assign latitude = calendarData.getLatitude()/> 
67								<#assign longitude = calendarData.getLongitude()/> 
68								<div id="map" class="card-body" style="height: 300px"><!-- map-canvas--></div> 
69										 
70									<link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" crossorigin=""/> 
71									<link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.css" /> 
72									<link rel="stylesheet" href="https://unpkg.com/leaflet-routing-machine@latest/dist/leaflet-routing-machine.css" /> 
73 
74									<script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js" crossorigin=""></script> 
75									<script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>  
76									<script src="https://unpkg.com/leaflet-routing-machine@latest/dist/leaflet-routing-machine.js"></script> 
77 
78									<script type="text/javascript"> 
79									AUI().ready('aui-node', function(A){ 
80										var map; 
81										 
82										var lat; 
83										var lng; 
84										 
85										var A = AUI();	 
86										 
87										map = new L.Map("map", { 
88											center: new L.LatLng(${latitude}, ${longitude}), 
89											zoom: 15, 
90											layers: new L.TileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png") 
91										}); 
92											 
93										 
94										lat = "${latitude}"; 
95										lng = "${longitude}"; 
96										 
97										 
98										var contentString = '<div class="container-fluid">' + 
99																'<div class="row-fluid">' + 
100																	'<div class="span10">' + 
101																		'<div id="title" class="title">${calendarBooking.getTitle(locale)}</div>'+ 
102																		'<div id="bodyContent">'+ 
103																			<#if validator.isNotNull(calendarData.getAddressDescription())> 
104																				'<div> ${htmlUtil.escapeJS(calendarData.getAddressDescription())} </div>'+ 
105																			</#if> 
106																		'</div>' + 
107																	'</div>' + 
108																'</div>'+ 
109															'</div>'; 
110										 
111										var marker = new L.Marker(new L.LatLng(Number(lat), Number(lng))); 
112										marker.bindPopup(contentString); 
113										map.addLayer(marker); 
114										 
115									}); 
116									</script> 
117							</#if>		 
118						 
119							 
120					 
121							 
122								<#if validator.isNotNull(calendarData.getAddressName()) || validator.isNotNull(calendarData.getAddressDescription())> 
123								<div class="address-wrapper place"> 
124									<#if validator.isNotNull(calendarData.getAddressName())> 
125										<div class="address important">${calendarData.getAddressName()}</div> 
126									</#if> 
127									<#if validator.isNotNull(calendarData.getAddressDescription())> 
128										<div class="description">${calendarData.getAddressDescription()}</div> 
129									</#if> 
130								</div> 
131								 
132								</section> 
133								 
134								</#if> 
135							</div> 
136						</div> 
137					</div> 
138				</div>				 
139		</#list> 
140	</div> 
141</#if>