Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> relatedServizi[0]  [in template "20095#20121#34627" at line 282, column 29]

----
Tip: It's the final [] step that caused this error, not those before it.
----
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: relatedServizio = relatedServizi[0]  [in template "20095#20121#34627" at line 282, column 13]
----
1<#assign 
2    FriendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") 
3    ClassNameService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameService") 
4    JournalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
5    LayoutLocalService=serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") 
6    journalArticleId=.vars['reserved-article-id'].data 
7    journalArticleResourceLocalServiceUtil=staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"] 
8    assetCategoryLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"] 
9    articleResourcePK=journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId) 
10    categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) 
11    AssetVocabularyLocalServiceUtil=staticUtil["com.liferay.asset.kernel.service.AssetVocabularyLocalServiceUtil"] 
12/> 
13<#setting locale=localeUtil.getDefault() /> 
14 
15<#-- gestione dei breadcrumbs --> 
16<#assign 
17    paginaPadre=LayoutLocalService.getLayout(groupId, PaginaPadre.getData()?eval.privateLayout, PaginaPadre.getData()?eval.layoutId?number) 
18    ancestors=paginaPadre.getAncestors() 
19    sorted_ancestors = [] 
20/> 
21<#list ancestors as parente> 
22    <#assign 
23        sorted_ancestors += 
24        [{ 
25            "name": parente.name, 
26            "ancestors": parente.getAncestors()?size, 
27            "data": parente 
28        }] 
29    /> 
30</#list> 
31 
32<div class="container finmatica-breadcrumb-container mb-4"> 
33    <div class="row justify-content-center"> 
34        <div class="col-12 col-lg-10"> 
35            <div class="cmp-breadcrumbs" role="navigation"> 
36                <nav class="breadcrumb-container" aria-label="breadcrumb"> 
37                    <ol class="breadcrumb p-0" data-element="breadcrumb"> 
38                        <li class="breadcrumb-item"><a 
39                                href="${themeDisplay.getThemeSetting('Home URL')}"> 
40                                <span class="breadcrumb-text-truncate">Home</span> 
41                            </a> 
42                            <span class="separator">/</span> 
43                        </li> 
44                        <#list sorted_ancestors?sort_by("ancestors") as ancestor> 
45                            <li class="breadcrumb-item"><a 
46                                    href="/portal${ancestor.data.getFriendlyURL()}"> 
47                                    <span class="breadcrumb-text-truncate"> 
48                                        ${ancestor.data.getName()} 
49                                    </span> 
50                                </a> 
51                                <span class="separator">/</span> 
52                            </li> 
53                        </#list> 
54                        <li class="breadcrumb-item"><a 
55                                href="/portal${paginaPadre.getFriendlyURL()}"> 
56                                <span class="breadcrumb-text-truncate"> 
57                                    ${paginaPadre.getName()} 
58                                </span> 
59                            </a> 
60                            <span class="separator">/</span> 
61                        </li> 
62                        <li class="breadcrumb-item">${Titolo.getData()}</li> 
63                    </ol> 
64                </nav> 
65            </div> 
66        </div> 
67    </div> 
68</div> 
69 
70 
71<#assign 
72    tipoUO="" 
73    argomenti=[] 
74/> 
75 
76<#list categoryList as categoryEntry> 
77 
78    <#assign 
79        vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(categoryEntry.getVocabularyId()) 
80        className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
81        friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), categoryEntry.categoryId) 
82        friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
83        cat_name = categoryEntry.name 
84        cat_localized_name = categoryEntry.getTitle(themeDisplay.getLocale(), true), 
85        cat_url = friendlyUrlList[0].urlTitle 
86    /> 
87    <#if 
88        vocabulary.getDescription()?lower_case=="tipo unita organizzativa" 
89        || vocabulary.name=="tassonomie tipi di unità organizzativa" 
90
91        <#assign tipoUO = cat_localized_name /> 
92    <#elseif 
93        vocabulary.getDescription()?lower_case=="argomenti" 
94        || vocabulary.name?lower_case=="tassonomia argomento" 
95
96        <#assign 
97            argomenti += 
98            [{ 
99                "name": cat_localized_name, 
100                "url": cat_url 
101            }] 
102        /> 
103    </#if> 
104</#list> 
105 
106 
107<#-- GET ASSESSORE --> 
108<#assign 
109    assessore_Data = jsonFactoryUtil.createJSONObject(Assessore.getData()) 
110    has_assessore=assessore_Data?eval?has_content 
111    assessore = [] 
112/> 
113 
114<#if has_assessore> 
115    <#assign 
116        assessori = JournalArticleLocalService.getArticlesByResourcePrimKey(assessore_Data.classPK?number) 
117        assessore = assessori[0] 
118        document = saxReaderUtil.read(assessore.getContent()) 
119        rootElement=document.getRootElement() 
120        nome_assessore = "" 
121        cognome_assessore = "" 
122        immagine_assessore = "" 
123        incarichi_assessore = [] 
124        has_immagine_assessore = false 
125        urlPagina_assessore = "/portal/web/guest/-/${assessore.getUrlTitle()}" 
126    /> 
127 
128    <#if rootElement.elements()?has_content> 
129        <#list rootElement.elements() as dynamicElement> 
130            <#if dynamicElement.attributeValue("field-reference")=="Nome"> 
131                <#assign nome_assessore=dynamicElement.element("dynamic-content").getText() /> 
132            <#elseif dynamicElement.attributeValue("field-reference") == "Cognome"> 
133                <#assign cognome_assessore = dynamicElement.element("dynamic-content").getText() /> 
134            <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
135                <#assign immagine_assessore=dynamicElement.element("dynamic-content").getText() /> 
136                <#if immagine_assessore?has_content> 
137                    <#assign immagine_assessore=jsonFactoryUtil.createJSONObject(immagine_assessore) /> 
138                    <#if immagine_assessore?has_content> 
139                        <#assign 
140                            immagine_assessore=immagine_assessore?eval 
141                            has_immagine_assessore = true 
142                        /> 
143                    </#if> 
144                </#if> 
145            <#elseif dynamicElement.attributeValue("field-reference")=="Incarichi"> 
146                <#assign 
147                    cur_incarichi_responsabile=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
148                    cur_relatedIncarichi=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_incarichi_responsabile.classPK?number) 
149                    cur_relatedIncarico=cur_relatedIncarichi[0] 
150                    document=saxReaderUtil.read(cur_relatedIncarico.getContent()) 
151                    rootElement=document.getRootElement() 
152                /> 
153                <#list rootElement.elements() as dynamicElement> 
154                    <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
155                        <#assign incarichi_assessore += [ dynamicElement.element("dynamic-content").getText() ] /> 
156                    </#if> 
157                </#list> 
158            </#if> 
159        </#list> 
160    </#if> 
161</#if> 
162 
163 
164<#-- SEZIONE GET DATI RESPONSABILE --> 
165<#assign responsabili=[] /> 
166<#if Responsabile.getData()?has_content && Responsabile.getSiblings()?has_content> 
167    <#list Responsabile.getSiblings() as cur_responsabile> 
168        <#assign 
169            cur_responsabile_data=jsonFactoryUtil.createJSONObject(cur_responsabile.getData()) 
170            cur_responsabile_content=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_responsabile_data.classPK?number) 
171            cur_responsabile_content=cur_responsabile_content[0] 
172            document=saxReaderUtil.read(cur_responsabile_content.getContent()) 
173            rootElement=document.getRootElement() 
174            cur_nome_reponsabile="" 
175            cur_cognome_responsabile="" 
176            cur_immagine_responsabile="" 
177            cur_urlImmagine_responsabile="" 
178            cur_incarichi_responsabile="" 
179            cur_incarichi_del__responsabile="" 
180        /> 
181        <#if rootElement.elements()?has_content> 
182            <#list rootElement.elements() as dynamicElement> 
183                <#if dynamicElement.attributeValue("field-reference")=="Nome"> 
184                    <#assign cur_nome_responsabile=dynamicElement.element("dynamic-content").getText() /> 
185                <#elseif dynamicElement.attributeValue("field-reference")=="Cognome"> 
186                    <#assign cur_cognome_responsabile=dynamicElement.element("dynamic-content").getText() /> 
187                <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
188                    <#assign cur_immagine_responsabile=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) /> 
189                    <#if cur_immagine_responsabile.uuid?has_content> 
190                        <#assign cur_urlImmagine_responsabile="/portal/c/document_library/get_file?uuid=" + cur_immagine_responsabile.uuid + "&amp;groupId=" + cur_immagine_responsabile.groupId /> 
191                    </#if> 
192                <#elseif dynamicElement.attributeValue("field-reference")=="Incarichi"> 
193                    <#assign 
194                        cur_incarichi_responsabile=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
195                        cur_relatedIncarichi=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_incarichi_responsabile.classPK?number) 
196                        cur_relatedIncarico=cur_relatedIncarichi[0] 
197                        document=saxReaderUtil.read(cur_relatedIncarico.getContent()) 
198                        rootElement=document.getRootElement() 
199                    /> 
200                    <#list rootElement.elements() as dynamicElement> 
201                        <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
202                            <#assign cur_incarichi_del_responsabile=dynamicElement.element("dynamic-content").getText() /> 
203                        </#if> 
204                    </#list> 
205                </#if> 
206            </#list> 
207        </#if> 
208        <#assign 
209            responsabili += 
210            [{ 
211                "nome" : cur_nome_responsabile, 
212                "cognome" : cur_cognome_responsabile, 
213                "immagine" : cur_immagine_responsabile, 
214                "urlImmagine" : cur_urlImmagine_responsabile, 
215                "incarichi" : cur_incarichi_del_responsabile, 
216                "urlPagina" : "/portal/-/${cur_responsabile_content.getUrlTitle()}" 
217            }] 
218        /> 
219    </#list> 
220</#if> 
221<#-- SEZIONE GET DATI PERSONALE UO --> 
222<#assign persone_della_struttura=[] /> 
223<#list Persone.getSiblings() as cur_persona> 
224    <#assign 
225        cur_persona_data=jsonFactoryUtil.createJSONObject(cur_persona.getData()) 
226        relatedPersone=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_persona_data.classPK?number) 
227        relatedPersona=relatedPersone[0] 
228        document=saxReaderUtil.read(relatedPersona.getContent()) 
229        rootElement=document.getRootElement() 
230        nome_persona="" 
231        cognome_persona="" 
232        immagine_persona="" 
233        urlImmaginePersona="" 
234        incarico_persona="" /> 
235    <#list rootElement.elements() as dynamicElement> 
236        <#if dynamicElement.attributeValue("field-reference")=="Nome"> 
237            <#assign nome_persona=dynamicElement.element("dynamic-content").getText() /> 
238        <#elseif dynamicElement.attributeValue("field-reference")=="Cognome"> 
239            <#assign cognome_persona=dynamicElement.element("dynamic-content").getText() /> 
240        <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
241            <#assign immagine_persona=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) /> 
242            <#if immagine_persona.uuid?has_content> 
243                <#assign urlImmaginePersona="/portal/c/document_library/get_file?uuid=" + immagine_persona.uuid + "&amp;groupId=" + immagine_persona.groupId /> 
244            </#if> 
245        <#elseif dynamicElement.attributeValue("field-reference")=="Incarichi"> 
246            <#assign incarichi_persona=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) /> 
247            <#if incarichi_persona?eval?has_content> 
248                <#assign 
249                    relatedIncarichiPersona=JournalArticleLocalService.getArticlesByResourcePrimKey(incarichi_persona.classPK?number) 
250                    relatedIncaricoPersona=relatedIncarichiPersona[0] 
251                    document=saxReaderUtil.read(relatedIncaricoPersona.getContent()) 
252                    rootElement=document.getRootElement() 
253                /> 
254                <#list rootElement.elements() as dynamicElement> 
255                    <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
256                        <#assign incarico_persona=dynamicElement.element("dynamic-content").getText() /> 
257                    </#if> 
258                </#list> 
259            </#if> 
260        </#if> 
261    </#list> 
262    <#assign 
263        persone_della_struttura += 
264        [{ 
265            "nome" : nome_persona, 
266            "cognome" : cognome_persona, 
267            "urlImmagine" : urlImmaginePersona, 
268            "immagine" : immagine_persona, 
269            "incarico" : incarico_persona, 
270            "urlPagina" : "/portal/-/${relatedPersona.getUrlTitle()}" 
271        }] 
272    /> 
273</#list> 
274<#-- GET SERVIZI COLLEGATI --> 
275<#assign servizi_collegati=[] /> 
276<#if ServiziOfferti.getData()?has_content> 
277    <#list ServiziOfferti.getSiblings() as cur_servizio> 
278        <#assign 
279            cur_servizio_data=jsonFactoryUtil.createJSONObject(cur_servizio.getData()) 
280            categorie_cur_servizio=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle", cur_servizio_data.classPK?number) 
281            relatedServizi=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_servizio_data.classPK?number) 
282            relatedServizio=relatedServizi[0] 
283            document=saxReaderUtil.read(relatedServizio.getContent()) 
284            rootElement=document.getRootElement() 
285            nome_servizio="" 
286            descrizione_servizio="" 
287            categorie_servizio=[] 
288        /> 
289        <#list rootElement.elements() as dynamicElement> 
290            <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
291                <#assign nome_servizio=dynamicElement.element("dynamic-content").getText() /> 
292            <#elseif dynamicElement.attributeValue("field-reference")=="DescrizioneBreve"> 
293                <#assign descrizione_servizio=dynamicElement.element("dynamic-content").getText() /> 
294            </#if> 
295        </#list> 
296        <#list categorie_cur_servizio as cur_categoria_cur_servizio> 
297 
298            <#assign 
299            FriendlyURLEntryLocalService = serviceLocator.findService("com.liferay.friendly.url.service.FriendlyURLEntryLocalService") 
300            ClassNameService = serviceLocator.findService("com.liferay.portal.kernel.service.ClassNameService") 
301                <#-- SPOSTARE I DUE ELEMENTI SOPRA AD INIZIO FILE --> 
302 
303                cur_vocabulary = AssetVocabularyLocalServiceUtil.getVocabulary(cur_categoria_cur_servizio.getVocabularyId()) 
304                className = ClassNameService.fetchClassName("com.liferay.asset.kernel.model.AssetCategory") 
305                friendlyUrlEntry = FriendlyURLEntryLocalService.getMainFriendlyURLEntry(className.getClassNameId(), cur_categoria_cur_servizio.categoryId) 
306                friendlyUrlList = FriendlyURLEntryLocalService.getFriendlyURLEntryLocalizations(friendlyUrlEntry.friendlyURLEntryId) 
307                cat_name = cur_categoria_cur_servizio.name 
308                cat_localized_name = cur_categoria_cur_servizio.getTitle(themeDisplay.getLocale(), true), 
309                cat_url = friendlyUrlList[0].urlTitle 
310            /> 
311            <#if 
312                cur_vocabulary.getTitle()?lower_case=="tassonomia categoria servizi" 
313                || cur_vocabulary.getName()?lower_case=="tassonomia categoria servizi" 
314                || cur_vocabulary.getDescription()?lower_case=="categorie servizi" 
315
316                <#assign 
317                    categorie_servizio += 
318                    [{ 
319                        "name": cat_localized_name, 
320                        "url": cat_url 
321                    }] 
322                /> 
323            </#if> 
324        </#list> 
325        <#assign 
326            servizi_collegati += 
327            [{ 
328                "nome" : nome_servizio, 
329                "descrizione" : descrizione_servizio, 
330                "categorie" : categorie_servizio, 
331                "urlPagina" : "/portal/web/guest/${relatedServizio.getUrlTitle()}" 
332            }] 
333        /> 
334    </#list> 
335</#if> 
336<#-- SEZIONE GET DATI SEDE PRINCIPALE --> 
337<#assign 
338    sede_principale_data=jsonFactoryUtil.createJSONObject(SedePrincipale.getData()) 
339    SediPrincipali=JournalArticleLocalService.getArticlesByResourcePrimKey(sede_principale_data.classPK?number) 
340    SedePrincipale=SediPrincipali[0] 
341    document=saxReaderUtil.read(SedePrincipale.getContent()) 
342    rootElement=document.getRootElement() 
343    nome_sede_principale="" 
344    indirizzo_sede_principale="" 
345    orari_sede_principale="" 
346    immagine_sede_principale="" 
347    urlImmagine_sede_principale="" 
348/> 
349<#list rootElement.elements() as dynamicElement> 
350    <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
351        <#assign nome_sede_principale=dynamicElement.element("dynamic-content").getText() /> 
352    <#elseif dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
353        <#assign indirizzo_sede_principale=dynamicElement.element("dynamic-content").getText() /> 
354    <#elseif dynamicElement.attributeValue("field-reference")=="OrarioPerIlPubblico"> 
355        <#assign orari_sede_principale=dynamicElement.element("dynamic-content").getText() /> 
356    <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
357        <#assign 
358            immagine_sede_principale=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
359            urlImmagine_sede_principale="/portal/c/document_library/get_file?uuid=" 
360            + immagine_sede_principale.uuid 
361            + "&amp;groupId=" 
362            + immagine_sede_principale.groupId 
363        /> 
364    </#if> 
365</#list> 
366<#-- SEZIONE GET ALTRE SEDI --> 
367<#assign altre_sedi=[] /> 
368<#if AltreSedi.getData()?has_content> 
369<#-- try --> 
370<#attempt> 
371    <#assign AltreSedi = AltreSedi.getSiblings() /> 
372<#-- catch --> 
373<#recover> 
374    <#assign AltreSedi = [] /> 
375</#attempt> 
376        <#list AltreSedi as cur_sede> 
377            <#assign 
378                cur_sede_data=jsonFactoryUtil.createJSONObject(cur_sede.getData()) 
379                relatedSedi=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_sede_data.classPK?number) 
380                relatedSede=relatedSedi[0] 
381                document=saxReaderUtil.read(relatedSede.getContent()) 
382                rootElement=document.getRootElement() 
383                nome_cur_sede="" 
384                indirizzo_cur_sede="" 
385                orari_cur_sede="" 
386                immagine_cur_sede="" 
387                urlImmagine_cur_sede="" 
388            /> 
389            <#list rootElement.elements() as dynamicElement> 
390                <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
391                    <#assign nome_cur_sede=dynamicElement.element("dynamic-content").getText() /> 
392                <#elseif dynamicElement.attributeValue("field-reference")=="Indirizzo"> 
393                    <#assign indirizzo_cur_sede=dynamicElement.element("dynamic-content").getText() /> 
394                <#elseif dynamicElement.attributeValue("field-reference")=="OrarioPerIlPubblico"> 
395                    <#assign orari_cur_sede=dynamicElement.element("dynamic-content").getText() /> 
396                <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
397                    <#assign 
398                        immagine_cur_sede=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
399                        urlImmagine_cur_sede="/portal/c/document_library/get_file?uuid=" 
400                        + immagine_cur_sede.uuid 
401                        + "&amp;groupId=" 
402                        + immagine_cur_sede.groupId 
403                    /> 
404                </#if> 
405            </#list> 
406            <#assign 
407                altre_sedi += 
408                [{ 
409                    "nome" : nome_cur_sede, 
410                    "indirizzo" : indirizzo_cur_sede, 
411                    "orari" : orari_cur_sede, 
412                    "immagine" : immagine_cur_sede, 
413                    "urlImmagine" : urlImmagine_cur_sede 
414                }] 
415            /> 
416        </#list> 
417</#if> 
418<#-- GET CONTATTI --> 
419<#assign 
420    has_contatti=PuntiDiContatto.getData()?has_content 
421    contatti_UO=[] 
422/> 
423<#if has_contatti> 
424    <#list PuntiDiContatto.getSiblings() as cur_PuntiDiContatto> 
425        <#assign 
426            nome_wallet="" 
427            contatti_wallet=[] 
428            contatti_data=jsonFactoryUtil.createJSONObject(cur_PuntiDiContatto.getData()) 
429            relatedArticles=JournalArticleLocalService.getArticlesByResourcePrimKey(contatti_data.classPK?number) 
430            relatedArticle=relatedArticles[0] 
431            document=saxReaderUtil.read(relatedArticle.getContent()) 
432            rootElement=document.getRootElement() 
433        /> 
434        <#list rootElement.elements() as dynamicElement> 
435            <#-- AGGIUNGO IL CONTATTO SOLO SE VALORIZZATO E DEFINISCO IL NOME DEL WALLET --> 
436            <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
437                <#assign nome_wallet=dynamicElement.element("dynamic-content").getText() /> 
438            <#elseif dynamicElement.element("dynamic-content").getText()?has_content> 
439                <#assign 
440                    tipo_contatto=(dynamicElement.attributeValue("field-reference")=="URL" )?string("Sito Web", dynamicElement.attributeValue("field-reference")) 
441                    contatti_wallet += 
442                    [{ 
443                        "tipo" : tipo_contatto, 
444                        "valore" : dynamicElement.element("dynamic-content").getText() 
445                    }] 
446                /> 
447            </#if> 
448        </#list> 
449        <#assign 
450            contatti_UO += 
451            [{ 
452                "titolo" : nome_wallet, 
453                "contatti" : contatti_wallet 
454            }] 
455        /> 
456    </#list> 
457</#if> 
458<#-- GET ALLEGATI --> 
459<#assign 
460    has_allegati=Allegati.getSiblings()?has_content 
461    allegati=[] 
462/> 
463<#if has_allegati> 
464<#list Allegati.getSiblings() as cur_allegato> 
465    <#if cur_allegato.File.getData()?? && cur_allegato.File.getData()?has_content> 
466        <#assign 
467            allegato_data=jsonFactoryUtil.createJSONObject(cur_allegato.File.data) 
468            url_allegato=cur_allegato.File.getData() 
469            nome_allegato=cur_allegato.Etichetta.getData()?has_content?string("${cur_allegato.Etichetta.getData()}", "${allegato_data.getString('title')}" ) 
470            allegati += 
471            [{ 
472                "nome": nome_allegato, 
473                "url": url_allegato 
474            }] 
475        /> 
476    </#if> 
477</#list> 
478</#if> 
479<#-- SEZIONE UO GENITORE --> 
480<#if UnitaOrganizzativaGenitore.getData()?has_content> 
481    <#list UnitaOrganizzativaGenitore.getSiblings() as cur_UnitaOrganizzativaGenitore> 
482        <#assign 
483            cur_uo_padre_data=jsonFactoryUtil.createJSONObject(cur_UnitaOrganizzativaGenitore.getData()) 
484            relatedUOGenitori=JournalArticleLocalService.getArticlesByResourcePrimKey(cur_uo_padre_data.classPK?number) 
485            relatedUOGenitore=relatedUOGenitori[0] 
486            document=saxReaderUtil.read(relatedUOGenitore.getContent()) 
487            rootElement=document.getRootElement() 
488            url_pagina_UO_padre="/portal/-/${relatedUOGenitore.getUrlTitle()}" 
489            nome_UO_padre="" 
490            descrizione_UO_padre="" 
491            immagine_UO_padre="" 
492            urlImmagine_UO_padre="" 
493            contatti_UO_padre=[] 
494        /> 
495        <#if rootElement.elements()?has_content> 
496            <#list rootElement.elements() as dynamicElement> 
497                <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
498                    <#assign nome_UO_padre=dynamicElement.element("dynamic-content").getText() /> 
499                <#elseif dynamicElement.attributeValue("field-reference")=="DescrizioneBreve"> 
500                    <#assign descrizione_UO_padre=dynamicElement.element("dynamic-content").getText() /> 
501                <#elseif dynamicElement.attributeValue("field-reference")=="Immagine"> 
502                    <#assign immagine_UO_padre=dynamicElement.element("dynamic-content").getText() /> 
503                    <#if immagine_UO_padre?has_content> 
504                        <#assign immagine_UO_padre=jsonFactoryUtil.createJSONObject(immagine_UO_padre) /> 
505                        <#if immagine_UO_padre?has_content> 
506                            <#assign 
507                                immagine_UO_padre=immagine_UO_padre?eval 
508                                has_immagine_UO_padre = true 
509                                urlImmagine_UO_padre = immagine_UO_padre.url 
510                            /> 
511                        </#if> 
512                    </#if> 
513                <#elseif dynamicElement.attributeValue("field-reference")=="Contatti"> 
514                    <#assign 
515                        contatti_UO_data=jsonFactoryUtil.createJSONObject(dynamicElement.element("dynamic-content").getData()) 
516                        relatedContatti=JournalArticleLocalService.getArticlesByResourcePrimKey(contatti_UO_data.classPK?number) 
517                        relatedContatto=relatedContatti[0] 
518                        document=saxReaderUtil.read(relatedContatto.getContent()) 
519                        rootElement=document.getRootElement() 
520                        nome_wallet="" 
521                        contatti_wallet=[] 
522                    /> 
523                    <#list rootElement.elements() as dynamicElement> 
524                        <#if dynamicElement.attributeValue("field-reference")=="Titolo"> 
525                            <#assign nome_wallet=dynamicElement.element("dynamic-content").getText() /> 
526                        <#elseif dynamicElement.element("dynamic-content").getText()?has_content> 
527                            <#assign 
528                                tipo_contatto=(dynamicElement.attributeValue("field-reference")=="URL" )?string("Sito Web", dynamicElement.attributeValue("field-reference")) 
529                                contatti_wallet += 
530                                [{ 
531                                    "tipo" : tipo_contatto, 
532                                    "valore" : dynamicElement.element("dynamic-content").getText() 
533                                }] 
534                            /> 
535                        </#if> 
536                    </#list> 
537                </#if> 
538            </#list> 
539            <#assign 
540                contatti_UO_padre +=[{ 
541                    "titolo" : nome_wallet, 
542                    "contatti" : contatti_wallet 
543                }] 
544            /> 
545        </#if> 
546    </#list> 
547</#if> 
548 
549<div class="container"> 
550    <div class="row justify-content-center"> 
551        <div class="col-12 col-lg-10"> 
552            <div class="cmp-heading pb-3 pb-lg-4"> 
553                <div class="row"> 
554                    <div class="col-lg-8"> 
555                        <h1 class="title-xxxlarge" data-element="service-title"> 
556                            ${Titolo.getData()} 
557                        </h1> 
558                        <p class="subtitle-small mb-3"> 
559                            ${DescrizioneBreve.getData()} 
560                        </p> 
561                    </div> 
562                    <div class="col-lg-3 offset-lg-1 mt-5 mt-lg-0"> 
563 
564                        <div class="dropdown" id="fallback-share"> 
565                            <button 
566                                aria-label="condividi sui social" 
567                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-6 text-primary" 
568                                type="button" 
569                                id="shareActions" 
570                                data-bs-toggle="dropdown" 
571                                aria-haspopup="true" 
572                                aria-expanded="false" 
573
574                                <svg class="icon icon-primary" aria-hidden="true"> 
575                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-share"></use> 
576                                </svg> 
577                                <small><@liferay.language key="share" /></small> 
578                            </button> 
579                            <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> 
580                                <div class="link-list-wrapper"> 
581                                    <ul class="link-list" role="menu"> 
582                                        <li role="none"> 
583                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('facebook')"> 
584                                                <svg class="icon icon-primary" aria-hidden="true"> 
585                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-facebook"></use> 
586                                                </svg> 
587                                                <span>Facebook</span> 
588                                            </button> 
589                                        </li> 
590                                        <li role="none"> 
591                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('twitter')"> 
592                                                <svg class="icon icon-primary" aria-hidden="true"> 
593                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-twitter"></use> 
594                                                </svg> 
595                                                <span><@liferay.language key="Twitter" /></span> 
596                                            </button> 
597                                        </li> 
598                                        <li role="none"> 
599                                            <button class="list-item text-primary px-3 fs-6" role="menuitem" onclick="shareOn('whatsapp')"> 
600                                                <svg class="icon icon-primary" aria-hidden="true"> 
601                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-whatsapp"></use> 
602                                                </svg> 
603                                                <span>Whatsapp</span> 
604                                            </button> 
605                                        </li> 
606                                    </ul> 
607                                </div> 
608                            </div> 
609                        </div> 
610 
611                        <div class="dropdown"> 
612                            <button 
613                                aria-label="vedi azioni da compiere sulla pagina" 
614                                class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" 
615                                type="button" 
616                                id="viewActions" 
617                                data-bs-toggle="dropdown" 
618                                aria-haspopup="true" 
619                                aria-expanded="false" 
620
621                                <svg class="icon icon-primary" aria-hidden="true"> 
622                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-more-items"></use> 
623                                </svg> 
624                                <small><@liferay.language key="actions" /></small> 
625                            </button> 
626                            <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> 
627                                <div class="link-list-wrapper"> 
628                                    <ul class="link-list" role="menu"> 
629                                        <li role="none"> 
630                                            <button class="list-item px-3 fs-6 text-primary" onclick="window.print()" role="menuitem"> 
631                                                <svg class="icon icon-primary" aria-hidden="true"> 
632                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-print"></use> 
633                                                </svg> 
634                                                <span><@liferay.language key="print" /></span> 
635                                            </button> 
636                                        </li> 
637                                        <li role="none"> 
638                                            <a class="list-item mail-anchor px-3 fs-6" href="mailto:" role="menuitem"> 
639                                                <svg class="icon icon-primary" aria-hidden="true"> 
640                                                    <use xlink:href="${themeDisplay.getPathThemeImages()}/sprite.svg#it-mail"></use> 
641                                                </svg> 
642                                                <span><@liferay.language key="send" /></span> 
643                                            </a> 
644                                        </li> 
645                                    </ul> 
646                                </div> 
647                            </div> 
648                        </div> 
649 
650                        <#list argomenti> 
651                        <div class="mb-3"> 
652                            <span class="text-paragraph-small fw-semibold"><@liferay.language key="topics" />:</span> 
653                            <ul class="d-flex flex-wrap gap-2 mt-10 mb-3"> 
654                                <#items as argomento> 
655                                <li> 
656                                    <a href="${argomento.url}" class="chip chip-simple"> 
657                                        <span class="chip-label"> 
658                                            ${argomento.name} 
659                                        </span> 
660                                    </a> 
661                                </li> 
662                                </#items> 
663                            </ul> 
664                        </div> 
665                        </#list> 
666                    </div> 
667                </div> 
668            </div> 
669        </div> 
670    </div> 
671</div> 
672<#if Immagine.getData()?? && Immagine.getData() !=""> 
673    <#assign immagine_alt=Immagine.getAttribute("alt")!"" /> 
674    <div class="container-fluid my-3"> 
675        <div class="row"> 
676            <figure class="figure px-0 img-full"> 
677                <img alt="${Immagine.getAttribute('alt')}" data-fileentryid="${Immagine.getAttribute('fileEntryId')}" src="${Immagine.getData()}" /> 
678                <#if immagine_alt !=""> 
679                <figcaption class="figure-caption text-center pt-3"> 
680                    ${immagine_alt} 
681                </figcaption> 
682                </#if> 
683            </figure> 
684        </div> 
685    </div> 
686</#if> 
687<div class="container"> 
688    <div class="row border-top border-light row-column-menu-left pb-4 pb-lg-80"> 
689        <div class="col-12 col-lg-3 mb-4 border-col"> 
690            <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one"> 
691                <nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="${languageUtil.get(locale, 'page-index')}" data-bs-navscroll=""> 
692                    <div class="navbar-custom" id="navbarNavProgress"> 
693                        <div class="menu-wrapper"> 
694                            <div class="link-list-wrapper"> 
695                                <div class="accordion"> 
696                                    <div class="accordion-item"> 
697                                        <span class="accordion-header" id="accordion-title-one"> 
698                                            <button class="accordion-button pb-10 px-3" type="button" data-bs-toggle="collapse" data-bs-target="#collapse-one" aria-expanded="true" aria-controls="collapse-one"> 
699                                                <@liferay.language key="page-index" /> 
700                                                <svg class="icon icon-xs right" viewBox="0 0 24 24"> 
701                                                    <path d="M11.6 15.4L6 9.8l.7-.8 4.9 4.9L16.5 9l.7.8z"></path> 
702                                                </svg> 
703                                            </button> 
704                                        </span> 
705                                        <div class="progress"> 
706                                            <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;" aria-label="Progress bar"></div> 
707                                        </div> 
708                                        <div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one"> 
709                                            <div class="accordion-body"> 
710                                                <ul class="link-list" data-element="page-index"> 
711                                                    <li class="nav-item"> 
712                                                        <a class="nav-link" href="#competences"> 
713                                                            <span class="title-medium"><@liferay.language key="responsibilities" /></span> 
714                                                        </a> 
715                                                    </li> 
716 
717                                                    <#if has_assessore> 
718                                                    <li class="nav-item"> 
719                                                        <a class="nav-link" href="#councilor"> 
720                                                            <span class="title-medium"><@liferay.language key="councilor" /></span> 
721                                                        </a> 
722                                                    </li> 
723                                                    </#if> 
724 
725                                                    <#if Responsabile.getData()?has_content> 
726                                                    <li class="nav-item"> 
727                                                        <a class="nav-link" href="#chief"> 
728                                                            <span class="title-medium"><@liferay.language key="manager" /></span> 
729                                                        </a> 
730                                                    </li> 
731                                                    </#if> 
732                                                    <li class="nav-item"> 
733                                                        <a class="nav-link" href="#people"> 
734                                                            <span class="title-medium"><@liferay.language key="people" /></span> 
735                                                        </a> 
736                                                    </li> 
737                                                    <#if ServiziOfferti.getData()?has_content> 
738                                                        <li class="nav-item"> 
739                                                            <a class="nav-link" href="#related-services"> 
740                                                                <span class="title-medium"><@liferay.language key="related-services" /></span> 
741                                                            </a> 
742                                                        </li> 
743                                                    </#if> 
744                                                    <li class="nav-item"> 
745                                                        <a class="nav-link" href="#main-location"> 
746                                                            <span class="title-medium"><@liferay.language key="main-location" /></span> 
747                                                        </a> 
748                                                    </li> 
749 
750                                                    <#if altre_sedi?has_content> 
751                                                    <li class="nav-item"> 
752                                                        <a class="nav-link" href="#other-locations"> 
753                                                            <span class="title-medium"><@liferay.language key="other-locations" /></span> 
754                                                        </a> 
755                                                    </li> 
756                                                    </#if> 
757 
758                                                    <#if UnitaOrganizzativaGenitore.getData()?has_content> 
759                                                        <li class="nav-item"> 
760                                                            <a class="nav-link" href="#parent-uo"> 
761                                                                <span class="title-medium"><@liferay.language key="parent-UO" /></span> 
762                                                            </a> 
763                                                        </li> 
764                                                    </#if> 
765 
766                                                    <#if contatti_UO?size gt 0> 
767                                                    <li class="nav-item"> 
768                                                        <a class="nav-link" href="#contacts"> 
769                                                            <span class="title-medium"><@liferay.language key="contact" /></span> 
770                                                        </a> 
771                                                    </li> 
772                                                    </#if> 
773 
774                                                    <#if has_allegati> 
775                                                    <li class="nav-item"> 
776                                                        <a class="nav-link" href="#attachments"> 
777                                                            <span class="title-medium"><@liferay.language key="attachments" /></span> 
778                                                        </a> 
779                                                    </li> 
780                                                    </#if> 
781 
782                                                    <#if 
783                                                        (UlterioriInformazioni.getData())?? 
784                                                        && (UlterioriInformazioni.getData()?has_content) 
785
786                                                    <li class="nav-item"> 
787                                                        <a class="nav-link" href="#more-info"> 
788                                                            <span class="title-medium"><@liferay.language key="additional-information" /></span> 
789                                                        </a> 
790                                                    </li> 
791                                                    </#if> 
792 
793                                                </ul> 
794                                            </div> 
795                                        </div> 
796                                    </div> 
797                                </div> 
798                            </div> 
799                        </div> 
800                    </div> 
801                </nav> 
802            </div> 
803        </div> 
804        <div class="col-12 col-lg-8 offset-lg-1"> 
805            <div class="it-page-sections-container"> 
806                <section class="it-page-section mb-30 pt-4" id="competences"> 
807                    <h2 class="title-xxlarge mb-3"><@liferay.language key="responsibilities" /></h2> 
808                    <div class="richtext-wrapper lora"> 
809                        <p> 
810                            ${Competenze.getData()} 
811                        </p> 
812                    </div> 
813                </section> 
814 
815                <#if tipoUO !=""> 
816                <section class="it-page-section mb-30 pt-4" id="office-type"> 
817                    <h2 class="title-xxlarge mb-3"><@liferay.language key="organization-type" /></h2> 
818                    <div class="richtext-wrapper"> 
819                        <span class="badge bg-primary"> 
820                            ${tipoUO} 
821                        </span> 
822                    </div> 
823                </section> 
824                </#if> 
825 
826                <#if has_assessore> 
827                <section class="it-page-section mb-30 pt-4" id="councilor"> 
828                    <h2 class="title-xxlarge mb-3"><@liferay.language key="councilor" /></h2> 
829                    <div class="row"> 
830                        <div class="col-12 col-lg-6 shadow-sm d-flex rounded pe-0" style="height: 120px;"> 
831                            <div class="col-12 col-lg-9 pt-3"> 
832 
833                                <a href="${urlPagina_assessore}" class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
834                                    ${nome_assessore} ${cognome_assessore} 
835                                </a> 
836                                <#list incarichi_assessore as incarico> 
837                                <div class="card-text"> 
838                                    <div>${incarico}</div> 
839                                </div> 
840                                </#list> 
841                            </div> 
842                            <#if has_immagine_assessore?has_content> 
843                            <a href="${urlPagina_assessore}" class="d-none d-lg-block col-lg-3 p-0"></a> 
844                            <img 
845                                class="w-100 h-100" 
846                                style="object-fit: cover; object-position: center;" 
847                                alt="${immagine_assessore.alt!}" 
848                                src="${immagine_assessore.url}" 
849                            /> 
850                            </#if> 
851                        </div> 
852                    </div> 
853                </section> 
854                </#if> 
855 
856                <#list responsabili> 
857                <section class="it-page-section mb-30 pt-4" id="chief"> 
858                    <h2 class="title-xxlarge mb-3"><@liferay.language key="manager" /></h2> 
859                    <div class="row"> 
860                        <#items as responsabile> 
861                        <div class="col-12 col-lg-6 shadow-sm d-flex rounded pe-0" style="height: 120px;"> 
862                            <div class="col-12 col-lg-9 pt-3"> 
863                                <a href="${responsabile.urlPagina}" class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
864                                    ${responsabile.nome} ${responsabile.cognome} 
865                                </a> 
866                                <#if responsabile.incarichi?has_content> 
867                                <div class="card-text"> 
868                                    ${responsabile.incarichi} 
869                                </div> 
870                                </#if> 
871                            </div> 
872                            <#if responsabile.urlImmagine !=""> 
873                            <a href="${responsabile.urlPagina}" class="d-none d-lg-block col-lg-3 p-0"> 
874                                <img 
875                                    class="w-100 h-100" 
876                                    style="object-fit: cover; object-position: center;" 
877                                    alt="${responsabile.immagine.alt!'Immagine responsabile unità organizzativa'}" 
878                                    src="${responsabile.urlImmagine}" 
879                                /> 
880                            </a> 
881                            </#if> 
882                        </div> 
883                        </#items> 
884                    </div> 
885                </section> 
886                </#list> 
887 
888                <#list persone_della_struttura> 
889                <section class="it-page-section mb-30 pt-4" id="people"> 
890                    <h2 class="title-xxlarge mb-3"><@liferay.language key="people" /></h2> 
891                    <div class="row"> 
892                        <#items as persona> 
893                        <div class="col-12 col-lg-6 p-0 pe-3 mb-3"> 
894                            <div class="d-flex pe-0 shadow-sm rounded" style="height: 120px;"> 
895                                <div class="col-12 col-lg-9 pt-3"> 
896                                    <a href="${persona.urlPagina}" class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
897                                        ${persona.nome} ${persona.cognome} 
898                                    </a> 
899                                    <#if persona.incarico?has_content> 
900                                    <div class="card-text"> 
901                                        ${persona.incarico} 
902                                    </div> 
903                                    </#if> 
904                                </div> 
905                                <#if persona.urlImmagine !=""> 
906                                <a href="${persona.urlPagina}" class="d-none d-lg-block col-lg-3 p-0"> 
907                                    <img 
908                                        class="w-100 h-100" 
909                                        style="object-fit: cover; object-position: center;" 
910                                        alt="${persona.immagine.alt!'Immagine componente staff dell\'unità organizzativa'}" 
911                                        src="${persona.urlImmagine}" /> 
912                                </a> 
913                                </#if> 
914                            </div> 
915                        </div> 
916                        </#items> 
917                    </div> 
918                </section> 
919                </#list> 
920 
921                <#list servizi_collegati> 
922                <section class="it-page-section mb-30 pt-4" id="related-services"> 
923                    <h2 class="title-xxlarge mb-3"><@liferay.language key="related-services" /></h2> 
924                    <div class="row"> 
925                        <#items as servizio> 
926                        <div class="col-12 col-lg-6 p-0 pe-3 mb-3"> 
927                            <div class="p-3 shadow-sm rounded h-100"> 
928                                <div class="category-top fw-semibold t-primary text-uppercase" style="font-size: .8rem;"> 
929                                    <#list servizio.categorie as categoria> 
930                                    <div> 
931                                        <div class="category"> 
932                                            ${categoria.name} 
933                                        </div> 
934                                    </div> 
935                                    </#list> 
936                                </div> 
937                                <div class="col-12 col-lg-9 p-0 pt-3"> 
938                                    <p class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
939                                        <a 
940                                            href="${servizio.urlPagina}" 
941                                            class="card-title text-paragraph-regular-medium-semi mb-1 primary-color-b3"> 
942                                            ${servizio.nome} 
943                                        </a> 
944                                    </p> 
945                                    <div class="card-text"> 
946                                        ${servizio.descrizione} 
947                                    </div> 
948                                </div> 
949                            </div> 
950                        </div> 
951                        </#items> 
952                    </div> 
953                </section> 
954                </#list> 
955 
956                <section class="it-page-section mb-30 pt-4" id="main-location"> 
957                    <h2 class="title-xxlarge mb-3"><@liferay.language key="main-location" /></h2> 
958                    <div class=""> 
959                        <div class="card card-teaser card-teaser-info rounded shadow-sm p-4"> 
960                            <div class="card-body pe-3"> 
961                                <h5 class="card-title mb-2"> 
962                                    <a class="text-decoration-none" href="/portal/-/${SedePrincipale.getUrlTitle()}"> 
963                                        ${nome_sede_principale} 
964                                    </a> 
965                                </h5> 
966                                <div class="card-text"> 
967                                    <#if indirizzo_sede_principale !=""> 
968                                    <p class="mb-2"> 
969                                        ${indirizzo_sede_principale} 
970                                    </p> 
971                                    </#if> 
972                                    <#if orari_sede_principale !=""> 
973                                    <p class="mb-2"> 
974                                        ${orari_sede_principale} 
975                                    </p> 
976                                    </#if> 
977                                </div> 
978                            </div> 
979                            <div class="avatar size-xl"> 
980                                <img 
981                                    alt="${immagine_sede_principale!'Immagine ' + nome_sede_principale}" 
982                                    src="${urlImmagine_sede_principale}" /> 
983                            </div> 
984                        </div> 
985                    </div> 
986                </section> 
987 
988                <#list altre_sedi> 
989                <section class="it-page-section mb-30 pt-4" id="other-locations"> 
990                    <h2 class="title-xxlarge mb-3"><@liferay.language key="other-locations" /></h2> 
991                    <div class=""> 
992                        <#items as sede> 
993                        <div class="card card-teaser card-teaser-info rounded shadow-sm p-4"> 
994                            <div class="card-body pe-3"> 
995                                <h5 class="card-title mb-2"> 
996                                    <a class="text-decoration-none" href="/portal/-/${relatedSede.getUrlTitle()}"> 
997                                        ${sede.nome} 
998                                    </a> 
999                                </h5> 
1000                                <div class="card-text"> 
1001                                    <#if sede.indirizzo !=""> 
1002                                    <p class="mb-2"> 
1003                                        ${sede.indirizzo} 
1004                                    </p> 
1005                                    </#if> 
1006                                    <#if sede.orari !=""> 
1007                                    <p class="mb-2"> 
1008                                        ${sede.orari} 
1009                                    </p> 
1010                                    </#if> 
1011                                </div> 
1012                            </div> 
1013                            <div class="avatar size-xl"> 
1014                                <img 
1015                                    alt="${sede.immagine.alt!'Immagine ' + nome_cur_sede}" 
1016                                    src="${sede.urlImmagine}" /> 
1017                            </div> 
1018                        </div> 
1019                        </#items> 
1020                    </div> 
1021                </section> 
1022                </#list> 
1023 
1024                <#if UnitaOrganizzativaGenitore.getData()?has_content> 
1025                <section class="it-page-section mb-30 pt-4" id="parent-uo"> 
1026                    <h2 class="title-xxlarge mb-3"><@liferay.language key="parent-UO" /></h2> 
1027                    <div class=""> 
1028                        <div class="card card-teaser card-teaser-info rounded shadow-sm p-4"> 
1029                            <div class="card-body pe-3"> 
1030                                <h5 class="card-title mb-2"> 
1031                                    <a class="text-decoration-none" href="${url_pagina_UO_padre}"> 
1032                                        ${nome_UO_padre} 
1033                                    </a> 
1034                                </h5> 
1035                                <#list contatti_UO_padre> 
1036                                <div class="card-text pt-3"> 
1037                                    <#items as wallet_contatti> 
1038                                    <div class="col-12 col-md-6 px-0"> 
1039                                        <div class="col-11 px-0"> 
1040                                            <#list wallet_contatti.contatti as contatto> 
1041                                            <div> 
1042                                                <span class="fw-semibold"> 
1043                                                    <@liferay.language key="${contatto.tipo?replace(' ', '-')}" />:</span> 
1044                                                <#assign url_type="" /> 
1045                                                <#if 
1046                                                    contatto.tipo=="Email" 
1047                                                    || contatto.tipo=="PEC" 
1048
1049                                                    <#assign url_type="mailto:" /> 
1050                                                <#elseif 
1051                                                        contatto.tipo=="Telefono" 
1052                                                        || contatto.tipo=="Whatsapp" 
1053                                                        || contatto.tipo=="Telegram" 
1054
1055                                                    <#assign url_type="tel:" /> 
1056                                                </#if> 
1057                                                <span class="ms-1"> 
1058                                                    <a 
1059                                                        href="${url_type}${contatto.valore}" 
1060                                                        target="_blank" 
1061                                                        class="text-primary"> 
1062                                                        ${contatto.valore} 
1063                                                    </a> 
1064                                                </span> 
1065                                            </div> 
1066                                            </#list> 
1067                                        </div> 
1068                                    </div> 
1069                                    </#items> 
1070                                </div> 
1071                                </#list> 
1072                            </div> 
1073                            <#if immagine_UO_padre?has_content> 
1074                            <div class="avatar size-xl"> 
1075                                <img 
1076                                    src="${immagine_UO_padre.url}" 
1077                                    alt="${immagine_UO_padre.alt}" /> 
1078                            </div> 
1079                            </#if> 
1080                        </div> 
1081                    </div> 
1082                </section> 
1083                </#if> 
1084 
1085                <#list contatti_UO> 
1086                <section class="it-page-section mb-30" id="contacts"> 
1087                    <h2 class="title-xxlarge mb-3"><@liferay.language key="contact" /></h2> 
1088                    <div class="row"> 
1089                        <#items as wallet_contatti> 
1090                        <div class="col-12 col-md-6 pe-3"> 
1091                            <div class="col-11 p-3 shadow-sm rounded"> 
1092                                <div class="h6 mb-2"> 
1093                                    ${wallet_contatti.titolo} 
1094                                </div> 
1095                                <#list wallet_contatti.contatti as contatto> 
1096                                <div> 
1097                                    <span class="fw-semibold"> 
1098                                        <@liferay.language key="${contatto.tipo?replace(' ', '-')}" />:</span> 
1099                                    <#assign url_type="" /> 
1100                                    <#if 
1101                                        contatto.tipo=="Email" 
1102                                        || contatto.tipo=="PEC"> 
1103                                        <#assign url_type="mailto:" /> 
1104                                        <#elseif 
1105                                            contatto.tipo=="Telefono" 
1106                                            || contatto.tipo=="Whatsapp" 
1107                                            || contatto.tipo=="Telegram"> 
1108                                            <#assign url_type="tel:" /> 
1109                                    </#if> 
1110                                    <span class="ms-1"> 
1111                                        <a 
1112                                            href="${url_type}${contatto.valore}" 
1113                                            target="_blank" 
1114                                            class="text-primary"> 
1115                                            ${contatto.valore} 
1116                                        </a> 
1117                                    </span> 
1118                                </div> 
1119                                </#list> 
1120                            </div> 
1121                        </div> 
1122                        </#items> 
1123                    </div> 
1124                </section> 
1125                </#list> 
1126 
1127                <#list allegati> 
1128                <section class="it-page-section mb-30" id="attachments"> 
1129                    <h2 class="mb-3"><@liferay.language key="attachments" /></h2> 
1130                    <div class="col-12"> 
1131                        <ul class="p-3 my-3 shadow rounded"> 
1132                            <#items as allegato> 
1133                            <li group="attachments"> 
1134                                <div class="d-flex align-items-center ${allegato?has_next?string(' mb-2', '')}"> 
1135                                    <a class="text-decoration_none fw-semibold t-primary" target="_blank" href="${allegato.url}"> 
1136                                        <svg class="icon icon-primary me-2" aria-hidden="true"> 
1137                                          <use 
1138                                            xlink:href="/portal/o/agid-liferay-theme/images/sprite.svg#it-download" 
1139                                          ></use> 
1140                                        </svg> 
1141                                        ${allegato.nome} 
1142                                    </a> 
1143                                </div> 
1144                            </li> 
1145                            </#items> 
1146                        </ul> 
1147                    </div> 
1148                </section> 
1149                </#list> 
1150 
1151                <#if (UlterioriInformazioni.getData())?? && (UlterioriInformazioni.getData()?has_content)> 
1152                <section class="it-page-section mb-30" id="more-info"> 
1153                    <h2 class="mb-3"><@liferay.language key="additional-information" /></h2> 
1154                    <div class="col-12"> 
1155                        ${UlterioriInformazioni.getData()} 
1156                    </div> 
1157                </section> 
1158                </#if> 
1159 
1160            </div> 
1161            <#assign 
1162                modifiedDate=.vars['reserved-article-modified-date'].getData()?split(", ")[1]?split(" +")[0] 
1163                displayModifiedDate=modifiedDate?datetime("dd MMM yyyy hh:mm:ss") 
1164            /> 
1165            <p class="text-paragraph-small mb-0 lora"> 
1166                <span class="fw-semibold"><@liferay.language key="last-update-date" />: </span> 
1167                <span> 
1168                    ${displayModifiedDate?string["dd/MM/yyyy, HH:mm"]} 
1169                </span> 
1170            </p> 
1171        </div> 
1172    </div> 
1173</div> 
1174<style> 
1175a.chip.chip-simple span.chip-label { 
1176    translate: 0 -25% 
1177
1178</style> 
1179<script defer> 
1180 
1181document.querySelectorAll(".mail-anchor").forEach(anchor => anchor.href = "mailto:&subject=${Titolo.getData()}&body=" + window.location.href) 
1182 
1183function shareOn(type) { 
1184    let articleUrl = window.location.href; 
1185    const mapping = { 
1186        "facebook": "https://facebook.com/sharer/sharer.php?u=" + articleUrl, 
1187        "twitter": "https://twitter.com/intent/tweet/?text=" + articleUrl, 
1188        "linkedin": "http://www.linkedin.com/sharing/share-offsite/?url=" + articleUrl, 
1189        "whatsapp": "whatsapp://send?text=" + articleUrl 
1190
1191 
1192    window.open(mapping[type], "_blank"); 
1193    return 
1194
1195 
1196function redirect(url) { 
1197    window.location.href = url; 
1198
1199</script>