Produciuse un erro ao procesar o modelo.
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>