null Determina n° 251 del 30.04.2020

Si è verificato un errore nell'elaborarazione del modello.
Can't convert this string to number: "8442.17."
The blamed expression:
==> str?number  [in template "34140#34167#36811" at line 102, column 22]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign x = str?number  [in template "34140#34167#36811" in function "formatEuro" at line 102, column 9]
	- Reached through: ${formatEuro(amount.getData())}  [in template "34140#34167#36811" at line 361, column 152]
----
1<#-- instanceId --> 
2<#assign instanceId = themeDisplay.getPortletDisplay().getId()?keep_after("INSTANCE_") /> 
3 
4<#-- etichette --> 
5<#assign label_determina = languageUtil.get(locale, "label_determina") /> 
6<#assign label_numero = languageUtil.get(locale, "label_numero") /> 
7<#assign label_del = languageUtil.get(locale, "label_del") /> 
8<#assign label_date = languageUtil.get(locale, "label_date") /> 
9<#assign label_data_atto = languageUtil.get(locale, "label_data_atto") /> 
10<#assign label_data_ultima_modifica = languageUtil.get(locale, "label_data_ultima_modifica") /> 
11<#assign label_cup = languageUtil.get(locale, "label_cup") /> 
12<#assign label_cig = languageUtil.get(locale, "label_cig") /> 
13<#assign label_importo = languageUtil.get(locale, "label_importo") /> 
14<#assign label_documenti = languageUtil.get(locale, "label_documenti") /> 
15<#assign label_ulteriori_informazioni = languageUtil.get(locale, "label_ulteriori_informazioni") /> 
16<#assign label_ultimo_aggiornamento = languageUtil.get(locale, "label_ultimo_aggiornamento") /> 
17 
18<#assign label_condividi = languageUtil.get(locale, "label_condividi") /> 
19<#assign label_vedi_azioni = languageUtil.get(locale, "label_vedi_azioni") /> 
20<#assign label_argomenti = languageUtil.get(locale, "label_argomenti") /> 
21<#assign label_facebook = languageUtil.get(locale, "label_facebook") /> 
22<#assign label_twitter = languageUtil.get(locale, "label_twitter") /> 
23<#assign label_linkedin = languageUtil.get(locale, "label_linkedin") /> 
24<#assign label_whatsapp = languageUtil.get(locale, "label_whatsapp") /> 
25<#assign label_stampa = languageUtil.get(locale, "label_stampa") /> 
26<#assign label_invia = languageUtil.get(locale, "label_invia") /> 
27<#assign label_indice_pagina = languageUtil.get(locale, "label_indice_pagina") /> 
28 
29<#assign label_vai_sezione = languageUtil.get(locale, "label_vai_sezione") /> 
30<#assign label_vai_alla_pagina = languageUtil.get(locale, "label_vai_alla_pagina") /> 
31<#assign label_documento = languageUtil.get(locale, "label_documento") /> 
32<#assign label_data = languageUtil.get(locale, "label_data") /> 
33 
34<#-- Ricavo servizi utili in seguito --> 
35<#-- Servizo per ricavare le categorie --> 
36<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
37<#-- Servizio per ricavare dati del journal article --> 
38<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
39<#-- Servizio per ricavare il nome del gruppo corrente --> 
40<#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") /> 
41<#-- Nome del sito --> 
42<#assign currentGroupName = groupLocalService.getGroup(groupId).getName(locale) /> 
43<#-- Servizio per ricavare l'oggetto layout --> 
44<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
45 
46<#-- Ricavo alcuni meta dati associati all'articolo --> 
47<#-- Ricavo article id --> 
48<#assign articleId = .vars['reserved-article-id'].data /> 
49<#-- Ricavo il titolo --> 
50<#assign titolo = .vars['reserved-article-title'].data /> 
51<#assign titolo = escapeExtraChar(titolo) /> 
52 
53<#-- Altri dati associati all'articolo che ricavo tramite API --> 
54<#assign article = journalArticleLocalService.getArticle( groupId,  articleId ) /> 
55 
56<#-- Data ultima modifica articolo --> 
57<#assign articleModifiedDateObj = article.getModifiedDate() /> 
58<#if validator.isNotNull(articleModifiedDateObj)> 
59	<#assign articleModifiedDate = dateUtil.getDate(articleModifiedDateObj, "dd/MM/yyyy, hh:mm", locale) /> 
60</#if> 
61 
62<#-- Url Title journal article --> 
63<#assign articleUrlTitle = article.getUrlTitle() /> 
64<#-- Primary key journal article --> 
65<#assign articlePrimKey = article.resourcePrimKey/> 
66 
67<#-- Se il carattere indicato è il prefisso della categoria, indica che la stessa non deve essere mostrata a video, ma viene solo usata per scopi funzionali --> 
68<#assign PREFIX_SERVICE_CATEGORY = "_" /> 
69 
70<#-- Ricavo tutte le categorie associate ad un articolo a meno di quelle che hanno un prefisso "_" --> 
71<#function getCategoryByArticlePrimKey articlePrimKey> 
72    <#assign tmp = "" />	 
73    <#assign articleCatNames = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) /> 
74	<#if (articleCatNames?size > 0)> 
75		<#list articleCatNames as category>	 
76			<#if category.name?substring(0,1) != PREFIX_SERVICE_CATEGORY > 
77				<#assign tmp = tmp + category.name + ", " />	 
78			</#if> 
79		</#list> 
80		<#assign tmp = tmp?keep_before_last(",") />				 
81	</#if>  
82    <#return tmp> 
83</#function> 
84 
85<#-- Variante: restituisce solo la lista di oggetti category --> 
86<#function getListCategoryByArticlePrimKey articlePrimKey> 
87    <#assign listCategories = [] />	 
88    <#assign articleCat = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) /> 
89	<#if (articleCat?size > 0)> 
90		<#list articleCat as category>	 
91			<#if category.name?substring(0,1) != PREFIX_SERVICE_CATEGORY > 
92				<#assign listCategories = listCategories + [category] />	 
93			</#if> 
94		</#list> 
95	</#if>  
96    <#return listCategories> 
97</#function> 
98 
99<#-- Funzione formatta euro  --> 
100<#function formatEuro amount> 
101	<#assign str = amount?replace("\\.","" "r")?replace(",","." "r")> 
102	<#assign x = str?number> 
103    <#return x?string[",##0.00"]> 
104</#function> 
105 
106<#-- Funzione escape su stringa  --> 
107<#function escapeExtraChar text> 
108    <#return text?replace("\"","&quot;", "r")?replace("'","&rsquo;", "r")> 
109</#function> 
110 
111<#-- Verifico se il primo elemento di una lista esiste --> 
112<#function firstOfListNotEmpty list> 
113    <#assign result = false /> 
114	<#if list?? && list?has_content && list.getSiblings()?has_content && list.getSiblings()?first.getData()?has_content> 
115    	<#assign result = true />  
116    </#if> 
117    <#return result> 
118</#function> 
119 
120<#-- Verifico che ci sia almeno un elemento in lista --> 
121<#function oneAtLeastOfListNotEmpty list> 
122	 <#assign esito = false /> 
123	 <#if list?? && list?has_content && list.getSiblings()?has_content> 
124	 	<#list list.getSiblings() as cur_elem> 
125	 		<#if cur_elem.getData()?has_content> 
126	    		<#assign esito = true /> 
127		    	<#break> 
128	    	</#if> 
129	 	</#list> 
130    </#if> 
131    <#return esito> 
132</#function> 
133 
134<#-- parso tutte le date della struttura --> 
135<#-- data dell'atto --> 
136<#if validator.isNotNull(start_date) && validator.isNotNull(start_date.getData())> 
137	<#assign start_date_string = getterUtil.getString(start_date.getData()) /> 
138	<#if validator.isNotNull(start_date_string) && start_date_string?trim != ""> 
139		<#assign start_date_DateObj = dateUtil.parseDate("yyyy-MM-dd", start_date.getData(), locale) /> 
140		<#assign start_date_res = dateUtil.getDate(start_date_DateObj, "dd MMMM yyyy", locale) /> 
141		<#assign start_date_compact = dateUtil.getDate(start_date_DateObj, "dd-MMM-yy", locale) /> 
142	</#if> 
143</#if> 
144 
145<#-- data ultima modifica dell'atto --> 
146<#if validator.isNotNull(last_modification_date) && validator.isNotNull(last_modification_date.getData())> 
147	<#assign last_modification_date_string = getterUtil.getString(last_modification_date.getData()) /> 
148	<#if validator.isNotNull(last_modification_date_string) && last_modification_date_string?trim != ""> 
149		<#assign last_modification_date_DateObj = dateUtil.parseDate("yyyy-MM-dd", last_modification_date.getData(), locale) /> 
150		<#assign last_modification_date_res = dateUtil.getDate(last_modification_date_DateObj, "dd MMMM yyyy", locale) /> 
151		<#assign last_modification_date_compact = dateUtil.getDate(last_modification_date_DateObj, "dd-MMM-yy", locale) /> 
152	</#if> 
153</#if> 
154 
155<#-- HTML --> 
156<section class="comuni-scheda scheda-determina"> 
157	<div class="container"> 
158		 
159		<#-- intro scheda + funzionalita trasversali --> 
160		<div class="row"> 
161			<div class="offset-lg-1 col-lg-6 col-md-8"> 
162				<section class="intro-sezione"> 
163					<#-- titolo scheda --> 
164					<#assign titoloScheda = escapeExtraChar(titolo) /> 
165					<#if validator.isNotNull(title) && validator.isNotNull(title.getData())> 
166						<h2 class="titolo-sezione">${title.getData()}</h2> 
167						<#assign titoloScheda = escapeExtraChar(title.getData()) /> 
168					</#if> 
169					 
170					<#if (validator.isNotNull(number) && validator.isNotNull(number.getData())) || start_date_res?has_content> 
171						<div class="sottotitolo-sezione"> 
172							<#if validator.isNotNull(number) && validator.isNotNull(number.getData())><span>${label_numero}</span> <strong>${number.getData()}</strong></#if><#if start_date_res?has_content> <span>${label_del}</span> <strong>${start_date_res}</strong></#if>						 
173						</div> 
174					</#if> 
175				</section> 
176			</div> 
177			 
178			<#-- blocco funzionalita trasversali --> 
179			<div class="offset-lg-1 col-lg-3 col-md-4"> 
180				<#-- condivisione sui social --> 
181				<#assign currentPageURL = themeDisplay.getPortalURL()+themeDisplay.getURLCurrent() /> 
182				<#assign companyName = themeDisplay.getCompany().getName() /> 
183				 
184				<#assign twitterUrl = "http://twitter.com/share?text=${companyName} - ${titoloScheda} &url=${currentPageURL}" /> 
185				<#assign facebookUrl = "http://www.facebook.com/sharer/sharer.php?u=${currentPageURL}" /> 
186				<#assign linkedinUrl = "https://www.linkedin.com/shareArticle?mini=true&url=${currentPageURL}&title=${companyName} - ${titoloScheda}" /> 
187				<#assign whatsappUrl = "https://api.whatsapp.com/send?text=${companyName} - ${titoloScheda} - ${currentPageURL}" /> 
188				 
189				<#-- condivisione social --> 
190				<div class="dropdown d-inline share-functions"> 
191					<button class="btn btn-dropdown dropdown-toggle btn-sm" type="button" id="shareActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
192						<svg class="icon"> 
193							<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-share"></use> 
194						</svg> 
195						<span>${label_condividi}</span> 
196					</button> 
197					 
198					<div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> 
199						<div class="link-list-wrapper"> 
200							<ul class="link-list"> 
201								<li> 
202									<a class="list-item" href="${facebookUrl}" target="_blank"> 
203										<svg class="icon icon-sm"> 
204											<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-facebook"></use> 
205										</svg> 
206										<span>${label_facebook}</span> 
207									</a> 
208								</li> 
209								<li> 
210									<a class="list-item" href="${twitterUrl}" target="_blank"> 
211										<svg class="icon icon-sm"> 
212											<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-twitter"></use> 
213										</svg> 
214										<span>${label_twitter}</span> 
215									</a> 
216								</li> 
217								<li> 
218									<a class="list-item" href="${linkedinUrl}" target="_blank"> 
219										<svg class="icon icon-sm"> 
220											<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-linkedin"></use> 
221										</svg> 
222										<span>${label_linkedin}</span> 
223									</a> 
224								</li> 
225								<li> 
226									<a class="list-item" href="${whatsappUrl}" target="_blank"> 
227										<svg class="icon icon-sm"> 
228											<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-whatsapp"></use> 
229										</svg> 
230										<span>${label_whatsapp}</span> 
231									</a> 
232								</li> 
233							</ul> 
234						</div> 
235					</div> 
236				</div> 
237			 
238				<#-- stampa + invia via email --> 
239				<#assign subjectEmail = companyName+" - "+titoloScheda /> 
240				<#assign bodyEmail = currentPageURL /> 
241				 
242				<div class="dropdown d-inline other-functions"> 
243					<button class="btn btn-dropdown dropdown-toggle btn-sm" type="button" id="viewActions" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
244						<svg class="icon"> 
245							<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-more-items"></use> 
246						</svg> 
247						<span>${label_vedi_azioni}</span> 
248					</button> 
249					<div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> 
250						<div class="link-list-wrapper"> 
251							<ul class="link-list"> 
252								<li> 
253									<a class="list-item" href="javascript:void(0);" onclick="window.print();"> 
254										<svg class="icon icon-sm"> 
255              								<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-print"></use> 
256            							</svg> 
257            							<span>${label_stampa}</span> 
258									</a> 
259								</li> 
260								<li> 
261									<a class="list-item" href="mailto:?subject=${subjectEmail}&body=${bodyEmail}"> 
262										<svg class="icon icon-sm"> 
263              								<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-mail"></use> 
264            							</svg> 
265            							<span>${label_invia}</span> 
266									</a> 
267								</li> 
268							</ul> 
269						</div> 
270					</div>	 
271				</div> 
272				 
273				<#-- categorie --> 
274				<#assign categorie = [] /> 
275 
276				<#-- recupero l'elenco delle categorie da visualizzare --> 
277				<#assign categorie = getListCategoryByArticlePrimKey(articlePrimKey) /> 
278				 
279				<#if categorie?? && (categorie?size > 0)>	 
280					<div class="mt-4 mb-4"> 
281						<h6>${label_argomenti}</h6> 
282						<#list categorie as cur_cat> 
283							<#if validator.isNotNull(cur_cat) && cur_cat != ""> 
284								<div class="chip chip-simple chip-primary no-link"> 
285									<span class="chip-label">${cur_cat.getName()}</span> 
286								</div> 
287							</#if> 
288						</#list> 
289					</div> 
290				</#if> 
291			</div> 
292		</div> 
293	</div> 
294	 
295	<#-- dettaglio scheda --> 
296	<div class="container"> 
297		<div class="row"> 
298			<div class="col"> 
299				<section class="dettaglio-scheda border-top"> 
300					<div class="row">				 
301						<#-- menu ancore sinistra --> 
302						<div class="col-lg-3 col-md-4"> 
303							<aside class="left-anchor-menu"> 
304								 
305								<h4 class="left-anchor-menu-header" id="${instanceId}_${articleId}_left-anchor-menu-header" data-toggle="collapse" data-target="#${instanceId}_${articleId}_left-anchor-menu" aria-expanded="true" aria-controls="${instanceId}_${articleId}_left-anchor-menu"> 
306									<span>${label_indice_pagina}</span> 
307									<svg class="icon icon-sm"> 
308										<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-arrow-up"></use> 
309									</svg> 
310								</h4>							 
311								 
312								<div class="left-anchor-menu-separator"><div class="left-anchor-menu-separator-inner"></div></div> 
313								 
314								<div id="${instanceId}_${articleId}_left-anchor-menu" class="collapse show" aria-labelledby="${instanceId}_${articleId}_left-anchor-menu-header"> 
315									<div class="anchor-menu-wrapper"> 
316										<ul> 
317											<#-- gia ricavato nella sezione principale della scheda --> 
318											<#if start_date_compact?has_content || last_modification_date_compact?has_content> 
319												<li class="anchor-item"> 
320													<a class="anchor-link" href="#${instanceId}_${articleId}_date" title="${label_vai_sezione} ${label_date}">${label_date}</a>													 
321												</li> 
322											</#if> 
323											<#-- sezione documenti --> 
324											<#if oneAtLeastOfListNotEmpty(attachment)> 
325												<li class="anchor-item"> 
326													<a class="anchor-link" href="#${instanceId}_${articleId}_attachments" title="${label_vai_sezione} ${label_documenti}">${label_documenti}</a>													 
327												</li> 
328											</#if>	 
329											<#-- sezione ulteriori informazioni + ultimo aggiornamento --> 
330											<li class="anchor-item"> 
331												<a class="anchor-link" href="#${instanceId}_${articleId}_further_information" title="${label_vai_sezione} ${label_ulteriori_informazioni}">${label_ulteriori_informazioni}</a>													 
332											</li> 
333										</ul> 
334									</div> 
335								</div> 
336							</aside> 
337						</div> 
338						 
339						<div class="col-lg-9 col-md-8"> 
340							<div class="border-left pl-md-4 pt-4"> 
341								<#-- sezione testo principale --> 
342								<#if  
343									(validator.isNotNull(description) && validator.isNotNull(description.getData())) || 
344									(validator.isNotNull(cup) && validator.isNotNull(cup.getData())) || 
345									(validator.isNotNull(amount) && validator.isNotNull(amount.getData())) 
346
347									<article class="page-section"> 
348										<div class="row"> 
349											<div class="col-12"> 
350												<div class="page-section-text"> 
351													<#if validator.isNotNull(description) && validator.isNotNull(description.getData())> 
352														${description.getData()} 
353													</#if> 
354													<#if validator.isNotNull(cig) && validator.isNotNull(cig.getData())> 
355														<div><strong>${label_cig} </strong>${cig.getData()}</div>													 
356													</#if> 
357													<#if validator.isNotNull(cup) && validator.isNotNull(cup.getData())> 
358														<div><strong>${label_cup} </strong>${cup.getData()}</div>													 
359													</#if> 
360													<#if validator.isNotNull(amount) && validator.isNotNull(amount.getData())> 
361														<div><strong>${label_importo} </strong>${formatEuro(amount.getData())}&nbsp;&euro;</div>													 
362													</#if> 
363												</div> 
364											</div> 
365										</div> 
366									</article>	 
367								</#if> 
368								 
369								<#-- sezione date dell' atto --> 
370								<#if start_date_compact?has_content || last_modification_date_compact?has_content> 
371									<article id="${instanceId}_${articleId}_date" class="page-section anchor-section"> 
372										<h4 class="h2">${label_date}</h4> 
373										<div class="row"> 
374											<div class="col-12"> 
375												<div class="point-list-wrapper my-4"> 
376												 
377													<#-- data ultima modifica dell'atto --> 
378													<#if last_modification_date_compact?has_content> 
379														<#assign last_modification_date_split = last_modification_date_compact?split("-") />	 
380														<div class="point-list"> 
381															<div class="point-list-aside point-list-warning"> 
382																<div class="point-date">${last_modification_date_split[0]}</div> 
383																<div class="point-month">${last_modification_date_split[1]}/${last_modification_date_split[2]}</div> 
384																<#-- <div class="point-year">${last_modification_date_split[2]}</div> --> 
385															</div> 
386															<div class="point-list-content"> 
387																<div class="card m-0"> 
388																	<div class="card-body"> 
389																		<h5 class="h3 card-title m-0"><span>${label_data_ultima_modifica}</span></h5> 
390																	</div> 
391																</div> 
392															</div> 
393														</div> 
394													</#if> 
395													 
396													<#-- data dell'atto --> 
397													<#if start_date_compact?has_content> 
398														<#assign start_date_split = start_date_compact?split("-") />	 
399														<div class="point-list"> 
400															<div class="point-list-aside point-list-warning"> 
401																<div class="point-date">${start_date_split[0]}</div> 
402																<div class="point-month">${start_date_split[1]}/${start_date_split[2]}</div> 
403																<#-- <div class="point-year">${start_date_split[2]}</div> --> 
404															</div> 
405															<div class="point-list-content"> 
406																<div class="card m-0"> 
407																	<div class="card-body"> 
408																		<h5 class="h3 card-title m-0"><span>${label_data_atto}</span></h5> 
409																	</div> 
410																</div> 
411															</div> 
412														</div> 
413													</#if> 
414													 
415												</div> 
416											</div> 
417										</div> 
418									</article>	 
419								</#if> 
420								 
421								<#-- sezione documenti --> 
422								<#if oneAtLeastOfListNotEmpty(attachment)> 
423									<article id="${instanceId}_${articleId}_attachments" class="page-section anchor-section"> 
424										<h4 class="h2">${label_documenti}</h4>									 
425										<div class="row"> 
426											<#list attachment.getSiblings() as cur_attachment> 
427												<#if validator.isNotNull(cur_attachment) && validator.isNotNull(cur_attachment.getData())> 
428													<#attempt> 
429													 
430														<#-- ricavo la size del documento --> 
431														<#-- a partire dal link, lo splitto e ricavo il secondo ed il 5 argomento che mi servono per il metodo successivo --> 
432														<#assign dlFileEntrySize = "" /> 
433														<#assign parts = (cur_attachment.getData())?split("/") /> 
434														<#assign groupId = parts[2] /> 
435														<#assign uuId = parts[5]?split("?")[0] /> 
436														 
437														<#assign dlFileEntryService = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryLocalService') /> 
438														<#assign dlFileEntry = dlFileEntryService.getFileEntryByUuidAndGroupId(uuId,groupId?number) />									 
439														 
440														<#assign dlFileEntrySize = dlFileEntry.getSize() /> 
441														<#assign dlFileEntryExtension = dlFileEntry.getExtension()?upper_case?trim /> 
442														 
443														<#-- trasformo la dimensione in KB --> 
444														<#if (dlFileEntrySize gt 0) > 
445															<#assign dlFileEntrySize = (dlFileEntrySize / 1000) + " KB"/> 
446														</#if> 
447								 
448														<#-- ricavo il titolo dell'allegato: se nn c'è passo un titolo generico --> 
449														<#assign attachment_header = label_documento /> 
450														<#if validator.isNotNull(cur_attachment.attachment_header) && validator.isNotNull(cur_attachment.attachment_header.getData()) > 
451															<#assign attachment_header = cur_attachment.attachment_header.getData()?trim /> 
452														</#if> 
453														 
454														<#-- visualizzo il link dell'allegato -->  
455														<div class="col-lg-6"> 
456															<div class="card allegati-card"> 
457																<div class="card-body"> 
458																	<div class="allegato d-flex"> 
459																		<div class="icon-img-wrapper"> 
460																			<svg class="icon"> 
461																				<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-clip"></use> 
462																			</svg> 
463																		</div> 
464																		<div class="text-wrapper pl-3"> 
465																			<h5 class="h3 card-title m-0"> 
466																				<a href="${cur_attachment.getData()}" target="_blank" title='File <#if dlFileEntryExtension != "">in formato ${dlFileEntryExtension}</#if> - ${dlFileEntrySize}'> 
467																					<strong>${attachment_header}</strong> 
468																				</a> 
469																			</h5> 
470																			<#if cur_attachment.attachment_description?? && validator.isNotNull(cur_attachment.attachment_description) && validator.isNotNull(cur_attachment.attachment_description.getData()) > 
471																				<div class="card-text"><small>${cur_attachment.attachment_description.getData()}</small></div> 
472																			</#if> 
473																		</div> 
474																	</div> 
475																</div> 
476															</div> 
477														</div> 
478													<#recover> 
479														<#-- non visualizzo nulla -->															 
480													</#attempt>					 
481												</#if> 
482											</#list> 
483										</div> 
484									</article> 
485								</#if> 
486								 
487								<#-- sezione ulteriori informazioni + data ultimo aggiornamento --> 
488								<article id="${instanceId}_${articleId}_further_information" class="page-section anchor-section"> 
489									<h4 class="h2">${label_ulteriori_informazioni}</h4> 
490									<#if validator.isNotNull(further_information) && validator.isNotNull(further_information.getData())> 
491										<div class="row"> 
492											<div class="col-12"> 
493												<div class="callout"> 
494													<div class="callout-title"> 
495														<svg class="icon"> 
496															<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-info-circle"></use> 
497														</svg> 
498													</div> 
499													<div class="callout-text"> 
500														${further_information.getData()} 
501													</div> 
502												</div> 
503											</div> 
504										</div> 
505									</#if>	 
506									<#-- data ultimo aggiornamento --> 
507									<div class="row"> 
508										<div class="col-12"> 
509											<p class="mb-0">${label_ultimo_aggiornamento}</p> 
510											<p><strong>${articleModifiedDate}</strong></p> 
511										</div> 
512									</div> 
513								</article> 
514								 
515							</div> 
516						</div> 
517					</div> 
518				</section> 
519			</div> 
520		</div> 
521	</div> 
522</section>