Vivere il comune
Tutti gli eventi, le iniziative e i luoghi d’interesse per scoprire e vivere il territorio comunale.
Virhe tapahtui prosessoidessa esitysmallia.
Java method "com.liferay.portal.kernel.util.DateUtil_IW.parseDate(String, String, Locale)" threw an exception when invoked on com.liferay.portal.kernel.util.DateUtil_IW object "com.liferay.portal.kernel.util.DateUtil_IW@103d351d"; see cause exception in the Java stack trace.
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign modifiedDate = dateUtil.parse... [in template "20095#20120#147126" at line 343, column 14]
----
1<#include "${templatesPath}/46861" />
2
3<#-- Template per Struttura Eventi -->
4<section>
5 <div class="container">
6 <div class="row">
7 <div class="col-12">
8 <div>
9 <h2 data-element="evento-title">${Titolo.getData()}</h2>
10 <#if (DescIntroduttiva.getData())??>
11 <p class="d-none d-lg-block" data-element="evento-description">${DescIntroduttiva.getData()}</p>
12 </#if>
13 </div>
14 <#assign articleCategories=getCategoriesOfArticle()>
15 <#if articleCategories?has_content>
16 <#list articleCategories as catEntry>
17 <a class="chip chip-simple" href="#" data-element="service-topic">
18 <span class="chip-label">${(catEntry)}</span>
19 </a>
20 </#list>
21 </#if>
22 </div>
23 </div>
24 </div>
25</section>
26
27<div class="container py-lg-5">
28 <div class="row">
29 <aside class="col-12 col-lg-4">
30 <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one">
31 <nav class="navbar it-navscroll-wrapper navbar-expand-lg it-bottom-navscroll it-right-side" data-bs-navscroll="">
32 <button class="custom-navbar-toggler" type="button" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation" data-bs-toggle="navbarcollapsible" data-bs-target="#navbarNav"><span class="it-list"></span>1. Introduzione</button>
33 <div class="progress custom-navbar-progressbar">
34 <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>
35 </div>
36 <div class="navbar-collapsable" id="navbarNav" tabindex="-1">
37 <div class="menu-wrapper" tabindex="-1">
38 <button type="button" class="it-back-button btn w-100 text-start">
39 <svg class="icon icon-sm icon-primary align-top">
40 <use href="${themeDisplay.getPathThemeImages()}/svg/sprites.svg#it-chevron-left" xlink:href="/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left"></use>
41 </svg>
42 <span>Indietro</span>
43 </button>
44 <div class="link-list-wrapper">
45 <h3>Indice della Pagina</h3>
46 <div class="progress">
47 <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>
48 </div>
49 <ul class="link-list">
50 <li class="nav-item">
51 <a class="nav-link" href="#" data-anchor="cos_e">Cos'è</a>
52 </li>
53 <li class="nav-item">
54 <a class="nav-link" href="#" data-anchor="a_chi_e_rivolto">A chi è rivolto</a>
55 </li>
56 <li class="nav-item">
57 <a class="nav-link" href="#" data-anchor="luogo">Luogo</a>
58 </li>
59 <li class="nav-item">
60 <a class="nav-link" href="#" data-anchor="date_e_orari">Date e orari</a>
61 </li>
62 <li class="nav-item">
63 <a class="nav-link" href="#" data-anchor="costi">Costi</a>
64 </li>
65 <li class="nav-item">
66 <a class="nav-link" href="#" data-anchor="documenti">Documenti</a>
67 </li>
68 <li class="nav-item">
69 <a class="nav-link" href="#" data-anchor="contatti">Contatti</a>
70 </li>
71 <li class="nav-item">
72 <a class="nav-link" href="#" data-anchor="ulteriori_informazioni">Ulteriori informazioni</a>
73 </li>
74 </ul>
75 </div>
76 </div>
77 </div>
78 </nav>
79 </div>
80 </aside>
81 <section class="col-12 col-lg-8 it-page-sections-container">
82 <article id="cos_e" class="it-page-section anchor-offset">
83 <h2 class="my-3">Cos'è</h2>
84 <div>
85 <#if (RichText67639145.getData())??>
86 ${RichText67639145.getData()}
87 </#if>
88 </div>
89 </article>
90 <article id="a_chi_e_rivolto" class="it-page-section anchor-offset">
91 <h2 class="my-3">A chi è rivolto</h2>
92 <div>
93 <#if CheckboxMultiple72556199?? && CheckboxMultiple72556199.getData()?has_content>
94 <#assign selectedJson = CheckboxMultiple72556199.getData()?eval>
95 <#if selectedJson?is_sequence && (selectedJson?size > 0)>
96
97 <#assign labelMap = {
98 "opzione25221982": "Bambini",
99 "opzione51030050": "Adulti",
100 "opzione36729429": "Tutti"
101 }>
102
103 <#list selectedJson as value>
104 <#if labelMap[value]??>
105 <div class="chip chip-success chip-lg chip-simple">
106 <span class="chip-label">${labelMap[value]}</span>
107 </div>
108 </#if>
109 </#list>
110 </#if>
111 </#if>
112 </div>
113 </article>
114 <article id="luogo" class="it-page-section anchor-offset">
115 <h2 class="my-3">Luogo</h2>
116 <div class="row">
117 <div class="col-12 col-md-6 col-lg-6">
118 <blockquote class="blockquote blockquote-card">
119 <div class="it-card it-card-profile it-card-height-full">
120 <div class="it-card-profile-header">
121 <div class="it-card-profile">
122 <h4 class="it-card-profile-name h6">
123 <#assign denominazione = Fieldset07238902.Text79089474.getData()!"">
124 <#if (Fieldset07238902.Text79089474.getData())??>
125 <a class="text-secondary" href="${Fieldset07238902.LinkToLayout39817045.getFriendlyUrl()}">${denominazione}</a>
126 <#else>
127 <a class="text-secondary" href="javascript:void(0)">${denominazione}</a>
128 </#if>
129 </h4>
130 <#if (Fieldset07238902.Text63272287.getData())??>
131 <p class="it-card-profile-role">${Fieldset07238902.Text63272287.getData()}</p>
132 </#if>
133 </div>
134 <div class="avatar size-xl">
135 <#if (Fieldset07238902.Image31004809.getData())?? && Fieldset07238902.Image31004809.getData() != "">
136 <img alt="${Fieldset07238902.Image31004809.getAttribute("alt")}" data-fileentryid="${Fieldset07238902.Image31004809.getAttribute("fileEntryId")}" src="${Fieldset07238902.Image31004809.getData()}" />
137 <#else>
138 <p aria-hidden="true">NP</p>
139 </#if>
140 </div>
141 </div>
142 <div class="it-card-body">
143 <dl class="it-card-description-list">
144 <#if (Fieldset07238902.Campo91771558.getData())??>
145 <div>
146 <dt><i aria-hidden="true" class="fa fa-map"></i></dt>
147 <dd>${Fieldset07238902.Campo91771558.getData()}</dd>
148 </div>
149 </#if>
150 <div>
151 <dt>Orari al pubblico:</dt>
152 </div>
153 <div>
154 <dd>
155 <#if Fieldset07238902.Fieldset44992350.getSiblings()?has_content>
156 <#-- Mapping giorni della settimana -->
157 <#assign giorniMap = {
158 "opzione35340432": "Lun",
159 "opzione72786642": "Mar",
160 "opzione21043243": "Mer",
161 "opzione02796194": "Gio",
162 "opzione53917768": "Ven",
163 "opzione63975786": "Sab",
164 "opzione17074195": "Dom"
165 }>
166 <div class="accordion border-0">
167 <div class="accordion-item">
168 <h2 class="accordion-header " id="heading1c">
169 <button class="accordion-button d-flex align-items-baseline collapsed border-0 ps-0 pt-0 text-secondary fw-normal fs-6" type="button" data-bs-toggle="collapse" data-bs-target="#collapse1c" aria-expanded="false" aria-controls="collapse1c">
170 <i aria-hidden="true" class="fa fa-clock-o"></i> Orario ${denominazione}:
171 </button>
172 </h2>
173 <div id="collapse1c" class="accordion-collapse collapse lightgrey-bg-c1" role="region" aria-labelledby="heading1c">
174 <div class="accordion-body">
175 <#list Fieldset07238902.Fieldset44992350.getSiblings() as cur_Fieldset07238902_Fieldset44992350>
176 <#if cur_Fieldset07238902_Fieldset44992350.Select24806510.getData()??>
177 <#assign giornoRef = cur_Fieldset07238902_Fieldset44992350.Select24806510.getData()>
178 <#if giorniMap[giornoRef]??>
179 <div class="row">
180 <div class="col-3"><span class="fw-bold">${giorniMap[giornoRef]}</span></div>
181 <div class="col-9">
182 <#if cur_Fieldset07238902_Fieldset44992350.Fieldset74203877.getSiblings()?has_content>
183 <ul class="list-unstyled">
184 <#list cur_Fieldset07238902_Fieldset44992350.Fieldset74203877.getSiblings() as curOrario>
185 <li>
186 <#if curOrario.Text24122847.getData()??>
187 <span>${curOrario.Text24122847.getData()}</span>
188 </#if>
189 <#if curOrario.Campo34334180.getData()??>
190 <span> - ${curOrario.Campo34334180.getData()}</span>
191 </#if>
192 </li>
193 </#list>
194 </ul>
195 </#if>
196 </div>
197 </div>
198 </#if>
199 </#if>
200 </#list>
201 <#if (Fieldset07238902.Campo62645127.getData())??>
202 <div>${Fieldset07238902.Campo62645127.getData()}</div>
203 </#if>
204 </div>
205 </div>
206 </div>
207 </div>
208 </dd>
209 </#if>
210 </div>
211 </dl>
212 </div>
213 </div>
214 </blockquote>
215 </div>
216 </div>
217 <#if Geolocation80590149?? && (Geolocation80590149.getData() != "")>
218 <#assign geolocationJSONObject = jsonFactoryUtil.createJSONObject(Geolocation80590149.getData())>
219 <#assign latitude = geolocationJSONObject.getDouble("lat")>
220 <#assign longitude = geolocationJSONObject.getDouble("lng")>
221
222 <div class="geolocation-section">
223
224 <div id="map-${.now?long}" style="width: 100%; height: 400px;"></div>
225
226 <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
227 <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
228
229 <script>
230 (function() {
231 var mapId = 'map-${.now?long}';
232 var map = L.map(mapId).setView([${latitude}, ${longitude}], 15);
233
234 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
235 attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
236 }).addTo(map);
237
238 L.marker([${latitude}, ${longitude}]).addTo(map);
239 })();
240 </script>
241 </div>
242 </#if>
243 </article>
244 <article id="date_e_orari" class="it-page-section anchor-offset">
245 <h2 class="my-3">Date e orari</h2>
246 <#if (Fieldset45344499.RichText73162356.getData())??>
247 <p>${Fieldset45344499.RichText73162356.getData()}</p>
248 </#if>
249 <div>
250 <#if Fieldset45344499.Fieldset33483506.getSiblings()?has_content>
251 <ul class="timeline">
252 <#if Fieldset45344499.Fieldset33483506.getSiblings()?has_content>
253 <#list Fieldset45344499.Fieldset33483506.getSiblings() as cur_Evento>
254 <#assign cur_Evento_Data = getterUtil.getString(cur_Evento.Date78078749.getData())>
255 <#if validator.isNotNull(cur_Evento_Data)>
256 <#assign Fieldset45344499_Fieldset33483506_Date78078749_DateObj = dateUtil.parseDate("yyyy-MM-dd", cur_Evento_Data, locale)>
257 <li class="event">
258 <div class="time">
259 <div class="year">${dateUtil.getDate(Fieldset45344499_Fieldset33483506_Date78078749_DateObj, "yyyy", locale)}</div>
260 <div class="day">${dateUtil.getDate(Fieldset45344499_Fieldset33483506_Date78078749_DateObj, "dd", locale)}</div>
261 <div class="month">${dateUtil.getDate(Fieldset45344499_Fieldset33483506_Date78078749_DateObj, "MMM", locale)}</div>
262 </div>
263 <#if (cur_Evento.Text10993484.getData())??>
264 <blockquote class="blockquote blockquote-card">
265 <div class="description">
266 <h4 class="mb-0">${cur_Evento.Text10993484.getData()}</h4>
267 </div>
268 </blockquote>
269 </#if>
270 </li>
271 </#if>
272 </#list>
273 </#if>
274 </ul>
275 </#if>
276 </div>
277 </article>
278 <article id="costi" class="it-page-section anchor-offset">
279 <h2 class="my-3">Costi</h2>
280 <div>
281 <#if (costi.getData())??>
282 <p>${costi.getData()}</p>
283 </#if>
284 </div>
285 </article>
286 <article id="documenti" class="it-page-section anchor-offset">
287 <h2 class="my-3">Documenti</h2>
288 <#if documenti?? && documenti.getSiblings()?has_content>
289 <#assign documentFolderAndEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppService")>
290 <#list documenti.getSiblings() as cur_documenti>
291 <#if cur_documenti.getData()?? && cur_documenti.getData() != "">
292 <#assign link=cur_documenti.getData()?substring(1)?split("/") />
293 <#assign groupId=themeDisplay.getScopeGroupId() />
294 <#assign uuid=link[7]?split("?")?first />
295 <#assign file=documentFolderAndEntryLocalService.getFileEntryByUuidAndGroupId(uuid,groupId) />
296 <#assign fileSizeHuman=getFileSizeHuman(file.getSize()) />
297 <#assign mimeType=file.getMimeType() />
298 <#assign fileNameWithoutExt = file.getFileName()?replace("+", " ")?keep_before_last(".")>
299 <div class="row">
300 <div class="col-12 col-md-6 col-lg-6">
301 <div class="it-card it-card-banner it-card-inline rounded shadow-sm border">
302 <!--card first child is all the card content: title (link) + body + footer -->
303 <div class="it-card-inline-content">
304 <h3 class="it-card-title h6">
305 <a <#if cur_documenti?? && cur_documenti.TitoloAll?? && cur_documenti.TitoloAll.getData()?has_content>title="${cur_documenti.TitoloAll.getData()}"</#if> href="/documents/${file.getGroupId()}/${file.getFolderId()}/${file.getTitle()}/${file.getUuid()}?download=true">
306 ${fileNameWithoutExt?html}
307 </a>
308 </h3>
309 <div class="it-card-body">
310 <p class="it-card-subtitle fs-6">
311 (File ${mimeType} ${fileSizeHuman}) <br>
312 ${file.getDescription()}
313 </p>
314 </div>
315 </div>
316 <!--card second child is the icon (optional)-->
317 <div class="it-card-banner-icon-wrapper">
318 <svg class="icon icon-secondary icon-md" aria-hidden="true"><use href="${themeDisplay.getPathThemeImages()}/svg/sprites.svg#it-clip"></use></svg>
319 </div>
320 </div>
321 </div>
322 </div>
323 </#if>
324 </#list>
325 </#if>
326 </article>
327 <article id="contatti" class="it-page-section anchor-offset">
328 <h2 class="my-3">Contatti</h2>
329 <div>
330 <#if (contatti.getData())??>
331 ${contatti.getData()}
332 </#if>
333 </div>
334 </article>
335 <article id="ulteriori_informazioni" class="it-page-section anchor-offset">
336 <h2 class="my-3">Ulteriori informazioni</h2>
337 <div>
338 <#if (UlterioriInformazioni.getData())??>
339 <p>${UlterioriInformazioni.getData()}</p>
340 </#if>
341 <#if .vars["reserved-article-modified-date"]?? && .vars["reserved-article-modified-date"].data??>
342 <#assign modifiedDateString = .vars["reserved-article-modified-date"].data>
343 <#assign modifiedDate = dateUtil.parseDate("EEE, dd MMM yyyy HH:mm:ss Z", modifiedDateString, locale)>
344 <p class="mt-2"><strong>Ultimo aggiornamento:</strong> ${dateUtil.getDate(modifiedDate, "dd/MM/yyyy HH:mm", locale)}</p>
345 </#if>
346 </div>
347 </article>
348 </div>
349 </section>
350</div>
351
352
353<#function getCategoriesOfArticle>
354 <#assign
355 journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
356 <#assign articleId=.vars['reserved-article-id'].getData() />
357 <#assign groupId=themeDisplay.getScopeGroupId() />
358 <#assign article=journalArticleLocalService.getArticle(groupId,articleId) />
359 <#assign
360 assetCategoryLocalService=staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"] />
361 <#assign resourcePrimaryKey=article.getResourcePrimKey() />
362 <#assign
363 categories=assetCategoryLocalService.getCategoryNames("com.liferay.journal.model.JournalArticle",resourcePrimaryKey) />
364 <#return categories />
365</#function>
Luoghi in evidenza
SERVIZIO AUTONOMO POLIZIA MUNICIPALE
Comando di Polizia Locale
Sede principale del Comando di Polizia Locale
La Casa del Fuorilegge
Il Comune di Gravina in Puglia ha partecipato all’avviso pubblico SMART - IN PUGLIA - Community Library, Biblioteca di Comunità: essenza di territorio, innovazione, comprensione nel segno del libro...
Contatta il comune
- Leggi le domande frequenti
- Richiedi assistenza
- Chiama il numero +39 080-325.91.11
- Prenota appuntamento