Si è verificato un errore nell'elaborarazione del modello.
Java method "com.sun.proxy.$Proxy910.getLatestArticle(long)" threw an exception when invoked on com.sun.proxy.$Proxy910 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@1f8e0f4e"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign contattoJA = journalArticleLo... [in template "20096#20121#93663" at line 445, column 177] ----
1<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")>
2<#assign argomentiVocabularyId = structureService.getVocabularyArgomentiId()>
3<#assign vocabularyTipidocumentopubblicoId = structureService.getVocabularyTipidocumentopubblicoId()>
4
5<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
6<#assign jac = serviceLocator.findService("it.inera.journalarticleconverter.service.JournalArticleConverter")>
7<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")>
8<#assign journalArticleId = .vars['reserved-article-id'].data>
9<#assign ja = journalArticleLocalService.getArticle(groupId, journalArticleId)>
10<#assign documentoPubblico = jac.getDocumentoPubblico(ja) />
11<#assign vocabularies = documentoPubblico.getCategories() />
12
13<#assign displaydate = documentoPubblico.getDisplayDate()?string["dd/MM/yyyy"]>
14<#assign modifieddate = documentoPubblico.getModifiedDate()?string["dd/MM/yyyy"]>
15
16<div class="container" id="main-container">
17
18 <div class="row">
19 <div class="col px-lg-4">
20 <div class="cmp-breadcrumbs" role="navigation">
21 <nav class="breadcrumb-container" aria-label="breadcrumb">
22 <ol class="breadcrumb p-0" data-element="breadcrumb">
23 <li class="breadcrumb-item"><a href="/" class="" data-focus-mouse="false"><@liferay.language key="breadcrumbs.home" /></a><span class="separator">/</span></li>
24 <li class="breadcrumb-item"><a href="/documenti-e-dati"><@liferay.language key="breadcrumbs.documenti" /></a><span class="separator">/</span></li>
25 <li class="breadcrumb-item active" aria-current="page">${titolo.getData()}</li>
26 </ol>
27 </nav>
28 </div>
29 </div>
30 </div>
31
32 <div class="row">
33 <div class="col-lg-8 px-lg-4 py-lg-2">
34 <h1 data-audio>${titolo.getData()}</h1>
35 <#if (protocollo.getData())??>
36 <#if (documentoPubblico.getDataprotocollo())?? && documentoPubblico.getDataprotocollo()?has_content >
37 <h2 class="h4 py-1" data-audio>${protocollo.getData()} - ${documentoPubblico.getDateProtocolloFormattedWithTime()}</h2>
38 <#else>
39 <h2 class="h4 py-1" data-audio>${protocollo.getData()}</h2>
40 </#if>
41 </#if>
42 <#if (identificativo.getData())??>
43 <h3 class="h5 py-1" data-audio>${identificativo.getData()}</h3>
44 </#if>
45 <#if documentoPubblico.getDateOraInizioFormattedWithTime()?? && documentoPubblico.getDateOraInizioFormattedWithTime()?has_content && documentoPubblico.getDateOraFineFormattedWithTime()?? && documentoPubblico.getDateOraFineFormattedWithTime()?has_content >
46 <p data-audio><b><@liferay.language key="documento.pubblico.data.inizio" />:</b> ${documentoPubblico.getDateOraInizioFormattedWithTime()} <b><@liferay.language key="documento.pubblico.data.fine" />:</b> ${documentoPubblico.getDateOraFineFormattedWithTime()}</p>
47 </#if>
48 <#if (abstract_.getData())?? && (abstract_.getData())?has_content>
49 <p data-audio>
50 ${abstract_.getData()}
51 </p>
52 </#if>
53 </div>
54 <div class="col-lg-3 offset-lg-1">
55 <div class="dropdown d-inline">
56 <button aria-label="<@liferay.language key="social.condivididesc" />" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="shareActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
57 <svg class="icon" aria-hidden="true">
58 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-share"></use>
59 </svg>
60 <small><@liferay.language key="social.condividi" /></small>
61 </button>
62 <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions">
63 <div class="link-list-wrapper">
64 <ul class="link-list share-btn" role="menu">
65 <li role="none">
66 <a data-id="fb" class="list-item" href="#" role="menuitem">
67 <svg class="icon" aria-hidden="true">
68 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-facebook"></use>
69 </svg>
70 <span><@liferay.language key="social.facebook" /></span>
71 </a>
72 </li>
73 <li role="none">
74 <a data-id="tw" class="list-item" href="#" role="menuitem">
75 <svg class="icon" aria-hidden="true">
76 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-twitter"></use>
77 </svg>
78 <span><@liferay.language key="social.twitter" /></span>
79 </a>
80 </li>
81 <li role="none">
82 <a data-id="in" class="list-item" href="#" role="menuitem">
83 <svg class="icon" aria-hidden="true">
84 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-linkedin"></use>
85 </svg>
86 <span><@liferay.language key="social.linkedin" /></span>
87 </a>
88 </li>
89 <li role="none">
90 <a data-id="wa" class="list-item" href="#" role="menuitem">
91 <svg class="icon" aria-hidden="true">
92 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-whatsapp"></use>
93 </svg>
94 <span><@liferay.language key="social.whatsapp" /></span>
95 </a>
96 </li>
97 </ul>
98 </div>
99 </div>
100 </div>
101 <div class="dropdown d-inline">
102 <button aria-label="<@liferay.language key="azioni.vedidesc" />" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="viewActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
103 <svg class="icon" aria-hidden="true">
104 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-more-items"></use>
105 </svg>
106 <small><@liferay.language key="azioni.vedi" /></small>
107 </button>
108 <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions">
109 <div class="link-list-wrapper">
110 <ul class="link-list share-btn" role="menu">
111 <li role="none">
112 <a data-id="print" class="list-item" href="#" role="menuitem">
113 <svg class="icon" aria-hidden="true">
114 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-print"></use>
115 </svg>
116 <span><@liferay.language key="azioni.stampa" /></span>
117 </a>
118 </li>
119 <li role="none">
120 <a class="list-item" role="menuitem" onclick="listenElements(this, '[data-audio]')">
121 <svg class="icon" aria-hidden="true">
122 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-hearing"></use>
123 </svg>
124 <span><@liferay.language key="azioni.ascolta" /></span>
125 </a>
126 </li>
127 <li role="none">
128 <a data-id="mail" class="list-item" href="#" role="menuitem">
129 <svg class="icon" aria-hidden="true">
130 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-mail"></use>
131 </svg>
132 <span><@liferay.language key="azioni.invia" /></span>
133 </a>
134 </li>
135 </ul>
136 </div>
137 </div>
138 </div>
139
140 <#if vocabularies?? && vocabularies?has_content >
141 <#list vocabularies as vocabularyId, categories>
142 <#if categories?? && categories?has_content && vocabularyId == argomentiVocabularyId >
143 <div class="mt-4 mb-4">
144 <div class="row">
145 <span class="mb-2 small"><@liferay.language key="detail.argomenti" /></span>
146 </div>
147 <ul class="d-flex flex-wrap gap-1">
148 <#list categories as category>
149 <#assign categoryLink = "" >
150 <#if category.getDescription()?? && category.getDescription()?has_content >
151 <#assign plid = category.getDescription()?replace('<[^>]+>','','r')?replace('<[^>]+>','','r') >
152 <#if plid?? && plid?has_content >
153 <#assign layoutDisplay = layoutLocalService.getLayout(plid?number) >
154 <#if layoutDisplay?? && layoutDisplay?has_content>
155 <#assign categoryLink = layoutDisplay.getFriendlyURL(themeDisplay.getLocale()) />
156 </#if>
157 </#if>
158 </#if>
159 <li>
160 <#if categoryLink?? && categoryLink?has_content >
161 <a class="chip chip-simple" href="${categoryLink}">
162 <span class="chip-label">${category.getTitle(locale)}</span>
163 </a>
164 <#else>
165 <div class="chip chip-simple text-button">
166 <span class="chip-label">${category.getTitle(locale)}</span>
167 </div>
168 </#if>
169 </li>
170 </#list>
171 </ul>
172 </div>
173 </#if>
174 </#list>
175 </#if>
176 </div>
177 </div>
178</div>
179<#if (immagineprincipale.immagine.getData())?? && immagineprincipale.immagine.getData()?has_content >
180 <div class="container-fluid my-3">
181 <div class="row">
182 <figure class="figure px-0 img-full">
183 <img src="${immagineprincipale.immagine.getData()}" class="figure-img img-fluid" alt="${immagineprincipale.immagine.getAttribute("alt")}">
184 <#if (immagineprincipale.immagine_titolo.getData())??>
185 <figcaption class="figure-caption text-center pt-3">${immagineprincipale.immagine_titolo.getData()}</figcaption>
186 </#if>
187 </figure>
188 </div>
189 </div>
190</#if>
191
192<div class="container">
193 <div class="row border-top border-light row-column-border row-column-menu-left">
194 <aside class="col-lg-3">
195 <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one">
196 <nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="<@liferay.language key="documento.pubblico.indice" />" data-bs-navscroll>
197 <div class="navbar-custom" id="navbarNavProgress">
198 <div class="menu-wrapper">
199 <div class="link-list-wrapper">
200 <div class="accordion">
201 <div class="accordion-item">
202 <span class="accordion-header" id="accordion-title-one">
203 <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">
204 <@liferay.language key="documento.pubblico.indice" />
205 <svg class="icon icon-xs right">
206 <use href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-expand"></use>
207 </svg>
208 </button>
209 </span>
210 <div class="progress">
211 <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
212 </div>
213 <div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one">
214 <div class="accordion-body">
215 <ul class="link-list" data-element="page-index">
216 <li class="nav-item">
217 <a class="nav-link" href="#descrizione">
218 <span class="title-medium"><@liferay.language key="documento.pubblico.descrizione" /></span>
219 </a>
220 </li>
221 <#if documentoPubblico.getUnitaOrganizzativa()?? && documentoPubblico.getUnitaOrganizzativa()?has_content && documentoPubblico.getUnitaOrganizzativa().getClassPKLong()??>
222 <li class="nav-item">
223 <a class="nav-link" href="#struttura">
224 <span class="title-medium"><@liferay.language key="documento.pubblico.ufficio.responsabile" /></span>
225 </a>
226 </li>
227 </#if>
228 <#if documentoPubblico.getServizi()?? && documentoPubblico.getServizi()?has_content && documentoPubblico.getServizi()[0]?has_content && documentoPubblico.getServizi()[0].getClassPKLong()??>
229 <li class="nav-item">
230 <a class="nav-link" href="#servizi">
231 <span class="title-medium"><@liferay.language key="documento.pubblico.servizi" /></span>
232 </a>
233 </li>
234 </#if>
235 <#if (autore.getData())?? && (autore.getData())?has_content>
236 <li class="nav-item">
237 <a class="nav-link" href="#autore">
238 <span class="title-medium"><@liferay.language key="documento.pubblico.autore" /></span>
239 </a>
240 </li>
241 </#if>
242 <#if (informazioni.getData())?? && (informazioni.getData())?has_content>
243 <li class="nav-item">
244 <a class="nav-link" href="#informazioni">
245 <span class="title-medium"><@liferay.language key="documento.pubblico.informazioni" /></span>
246 </a>
247 </li>
248 </#if>
249 <#if (riferimenti.getData())?? && (riferimenti.getData())?has_content>
250 <li class="nav-item">
251 <a class="nav-link" href="#riferimenti">
252 <span class="title-medium"><@liferay.language key="documento.pubblico.riferimenti" /></span>
253 </a>
254 </li>
255 </#if>
256 <#if documentoPubblico.getDocumentiCollegati()?? && documentoPubblico.getDocumentiCollegati()?has_content && documentoPubblico.getDocumentiCollegati()[0]?has_content && documentoPubblico.getDocumentiCollegati()[0].getClassPKLong()??>
257 <li class="nav-item">
258 <a class="nav-link" href="#allegati">
259 <span class="title-medium"><@liferay.language key="Allegati" /></span>
260 </a>
261 </li>
262 </#if>
263 <#if documentoPubblico.getContenutoCollegato()?? && documentoPubblico.getContenutoCollegato()?has_content && documentoPubblico.getContenutoCollegato()[0]?has_content && documentoPubblico.getContenutoCollegato()[0].getClassPKLong()??>
264 <li class="nav-item">
265 <a class="nav-link" href="#contenuti_collegati">
266 <span class="title-medium"><@liferay.language key="Contenuti collegati" /></span>
267 </a>
268 </li>
269 </#if>
270 <li class="nav-item">
271 <a class="nav-link" href="#formati">
272 <span class="title-medium"><@liferay.language key="documento.pubblico.formati" /></span>
273 </a>
274 </li>
275 <#if documentoPubblico.getLicenza()?? && documentoPubblico.getLicenza()?has_content>
276 <li class="nav-item">
277 <a class="nav-link" href="#licenze">
278 <span class="title-medium"><@liferay.language key="documento.pubblico.licenza" /></span>
279 </a>
280 </li>
281 </#if>
282
283 </ul>
284 </div>
285 </div>
286 </div>
287 </div>
288 </div>
289 </div>
290 </div>
291 </nav>
292 </div>
293 </aside>
294 <section class="col-lg-9 it-page-sections-container border-light position-static">
295 <article id="descrizione" class="it-page-section anchor-offset mb-5 richtext-wrapper" data-audio>
296 ${descrizione.getData()}
297
298 <#if (urldocumento)?? && (urldocumento.getData())?? && (urldocumento.getData())?has_content>
299 <div class="card card-teaser shadow rounded">
300 <div class="card-body">
301 <h3 class="card-title h5 m-0">
302 <svg class="icon" aria-hidden="true">
303 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
304 </svg>
305 <a href="${urldocumento.getData()}" target="_blank" class="text-decoration-none" title="<@liferay.language key="documento.pubblico.url" />" aria-label="<@liferay.language key="documento.pubblico.url" />"><@liferay.language key="documento.pubblico.url" /></a>
306 </h3>
307 </div>
308 </div>
309 </#if>
310 <#if linkEsterno.getData()?? && linkEsterno.getData()?has_content>
311 <div class="card card-teaser shadow rounded">
312 <div class="card-body">
313 <h3 class="card-title h5 m-0">
314 <svg class="icon" aria-hidden="true">
315 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
316 </svg>
317 <a href="${linkEsterno.getData()}" target="_blank" class="text-decoration-none" title="<@liferay.language key="documento.pubblico.url" />" aria-label="<@liferay.language key="documento.pubblico.url" />"><@liferay.language key="Link Esterno" /></a>
318 </h3>
319 </div>
320 </div>
321 </#if>
322 <#if altroformato.getSiblings()?has_content && (altroformato.getSiblings()[0])?? && (altroformato.getSiblings()[0].linkfileformato.getData())?has_content>
323 <div class="mt-3">
324 <h4><@liferay.language key="documento.pubblico.altriformati" />:</h4>
325 <#list altroformato.getSiblings() as cur_allegato>
326 <#assign titlinkall><@liferay.language key="documento.pubblico.url" /></#assign>
327
328 <#if (cur_allegato.tipofile)?? && (cur_allegato.tipofile.getData())?? && (cur_allegato.tipofile.getData())?has_content>
329 <#assign titlinkall = cur_allegato.tipofile.getData() >
330 </#if>
331
332 <div class="card card-teaser shadow rounded mt-2">
333 <div class="card-body">
334 <h3 class="card-title h5 m-0">
335 <svg class="icon" aria-hidden="true">
336 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
337 </svg>
338 <a href="${cur_allegato.linkfileformato.getData()}" target="_blank" class="text-decoration-none" title="${titlinkall}" aria-label="${titlinkall}">${titlinkall}</a>
339 </h3>
340 </div>
341 </div>
342 </#list>
343 </div>
344 </#if>
345
346 <#if fileallegato.getSiblings()?has_content && (fileallegato.getSiblings()[0])?? && (fileallegato.getSiblings()[0].linkfileallegato.getData())?has_content>
347 <div class="mt-3">
348 <h4><@liferay.language key="documento.pubblico.allegati" />:</h4>
349 <#list fileallegato.getSiblings() as cur_allegato>
350 <#assign titlinkall><@liferay.language key="documento.pubblico.url" /></#assign>
351
352 <#if (cur_allegato.titolofileallegato)?? && (cur_allegato.titolofileallegato.getData())?? && (cur_allegato.titolofileallegato.getData())?has_content>
353 <#assign titlinkall = cur_allegato.titolofileallegato.getData() >
354 </#if>
355
356 <div class="card card-teaser shadow rounded mt-2">
357 <div class="card-body">
358 <h3 class="card-title h5 m-0">
359 <svg class="icon" aria-hidden="true">
360 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
361 </svg>
362 <a href="${cur_allegato.linkfileallegato.getData()}" target="_blank" class="text-decoration-none" title="${titlinkall}" aria-label="${titlinkall}">${titlinkall}</a>
363 </h3>
364 </div>
365 </div>
366 </#list>
367 </div>
368 </#if>
369
370 <#if immaginesecondaria.getSiblings()?has_content && (immaginesecondaria.getSiblings()[0].getData())?? && (immaginesecondaria.getSiblings()[0].getData())?has_content>
371 <div class="it-carousel-wrapper it-carousel-landscape-abstract-three-cols splide" data-bs-carousel-splide>
372 <div class="it-header-block">
373 <div class="it-header-block-title">
374 <h3 class="h4"><@liferay.language key="documento.pubblico.galleria.immagini" /></h3>
375 </div>
376 </div>
377 <div class="splide__track">
378 <ul class="splide__list it-carousel-all">
379 <#list immaginesecondaria.getSiblings() as cur_immaginesecondaria>
380 <#if (cur_immaginesecondaria.immaginesec.getData())?? && cur_immaginesecondaria.immaginesec.getData()?has_content >
381 <li class="splide__slide">
382 <div class="it-single-slide-wrapper">
383 <figure>
384 <img src="${cur_immaginesecondaria.immaginesec.getData()}" class="figure-img img-fluid" alt="${cur_immaginesecondaria.immaginesec.getAttribute("alt")}">
385 <#if (cur_immaginesecondaria.immaginesec_titolo.getData())??>
386 <figcaption class="figure-caption text-center pt-3">${cur_immaginesecondaria.immaginesec_titolo.getData()}</figcaption>
387 </#if>
388 </figure>
389 </div>
390 </li>
391 </#if>
392 </#list>
393 </ul>
394 </div>
395 </div>
396 </#if>
397 </article>
398
399 <#if documentoPubblico.getUnitaOrganizzativa()?? && documentoPubblico.getUnitaOrganizzativa()?has_content && documentoPubblico.getUnitaOrganizzativa().getClassPKLong()??>
400 <article id="struttura" class="it-page-section anchor-offset mb-5">
401 <h2 class="mb-3"><@liferay.language key="documento.pubblico.ufficio.responsabile" /></h2>
402 <div class="row">
403
404 <#assign unitaOrganizzativa = documentoPubblico.getUnitaOrganizzativa() />
405 <#if unitaOrganizzativa?? && unitaOrganizzativa?has_content && unitaOrganizzativa.getClassPKLong()?? >
406
407 <#assign unitaOrganizzativaId = unitaOrganizzativa.getClassPKLong() />
408
409 <#if unitaOrganizzativaId?? && unitaOrganizzativaId?has_content >
410
411 <#assign unitaOrganizzativaJA = journalArticleLocalService.getLatestArticle(unitaOrganizzativaId)>
412
413 <#if unitaOrganizzativaJA.getDDMStructureKey() = structureService.getStructureUnitaOrganizzativaKey()>
414 <#assign unitaOrganizzativaObj = jac.getUnitaOrganizzativa(unitaOrganizzativaJA) />
415
416 <div class="col-12 col-sm-8 col-xl-6">
417 <div class="card-wrapper rounded shadow-sm h-auto">
418 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
419 <div class="card-body pe-3">
420 <h5 class="card-title">
421 <a class="text-decoration-none" href="/-/${unitaOrganizzativaObj.getUrlTitle()}">
422 ${unitaOrganizzativaObj.getNome()}
423 </a>
424 </h5>
425 <div class="card-text">
426 <#if unitaOrganizzativaObj.getSedePrincipale()?? && unitaOrganizzativaObj.getSedePrincipale()?has_content && unitaOrganizzativaObj.getSedePrincipale().getClassPKLong()??>
427 <#assign luogo = unitaOrganizzativaObj.getSedePrincipale() />
428 <#if luogo?? && luogo?has_content && luogo.getClassPKLong()?? >
429 <#assign luogoId = luogo.getClassPKLong() />
430 <#if luogoId?? && luogoId?has_content >
431 <#assign luogoJA = journalArticleLocalService.getLatestArticle(luogoId)>
432 <#if luogoJA.getDDMStructureKey() = structureService.getStructureLuogoKey()>
433 <#assign luogoObj = jac.getLuogo(luogoJA) />
434
435 <#if (luogoObj.getIndirizzo())?? && (luogoObj.getIndirizzo())?has_content>
436 <p class="u-main-black">${luogoObj.getIndirizzo()}</p>
437 </#if>
438
439 <#if unitaOrganizzativaObj.getContatti()?? && unitaOrganizzativaObj.getContatti()?has_content && unitaOrganizzativaObj.getContatti()[0]?has_content && unitaOrganizzativaObj.getContatti()[0].getClassPKLong()??>
440 <#assign contattiList = unitaOrganizzativaObj.getContatti() />
441 <#list contattiList as contatto>
442 <#if contatto?? && contatto?has_content && contatto.getClassPKLong()?? >
443 <#assign contattoId = contatto.getClassPKLong() />
444 <#if contattoId?? && contattoId?has_content >
445 <#assign contattoJA = journalArticleLocalService.getLatestArticle(contattoId)>
446 <#if contattoJA.getDDMStructureKey() = structureService.getStructurePuntoDiContattoKey()>
447 <#assign contattoObj = jac.getPuntoDiContatto(contattoJA) />
448 <#if (contattoObj)?? && (contattoObj)?has_content>
449 <#assign contattolink = "" >
450
451 <#if (contattoObj.getTipo())?? && (contattoObj.getTipo())?has_content>
452 <#assign tipoObj = contattoObj.getTipo()[0] >
453 <#list tipoObj.getValues() as tipo>
454 <#if (tipo)?? && (tipo)?has_content>
455 <#if tipo == "Telefono">
456 <#assign contattolink = "tel:" + contattoObj.getValore() >
457 </#if>
458 <#if tipo == "Email">
459 <#assign contattolink = "mailto:" + contattoObj.getValore() >
460 </#if>
461 </#if>
462 </#list>
463 </#if>
464
465 <p class="u-main-black">
466 <#if (contattolink)?? && (contattolink)?has_content>
467 <a href="${contattolink}">${contattoObj.getTitololink()}</a>
468 <#else>
469 ${contattoObj.getTitololink()}
470 </#if>
471 </p>
472 </#if>
473 </#if>
474 </#if>
475 </#if>
476 </#list>
477 </#if>
478 </#if>
479 </#if>
480 </#if>
481 </#if>
482 </div>
483 </div>
484 <#if (unitaOrganizzativaObj.getImmagineprincipale().immagine.getData())?? && unitaOrganizzativaObj.getImmagineprincipale().immagine.getData()?has_content >
485 <div class="avatar size-xl">
486 <img src="${unitaOrganizzativaObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${unitaOrganizzativaObj.getImmagineprincipale().immagine.getAttribute("alt")}">
487 </div>
488 </#if>
489 </div>
490 </div>
491 </div>
492
493 </#if>
494
495 </#if>
496 </#if>
497 </div>
498 </article>
499 </#if>
500
501 <#if documentoPubblico.getServizi()?? && documentoPubblico.getServizi()?has_content && documentoPubblico.getServizi()[0]?has_content && documentoPubblico.getServizi()[0].getClassPKLong()??>
502 <article id="servizi" class="it-page-section mb-5">
503 <h2 class="mb-3"><@liferay.language key="documento.pubblico.servizi" /></h2>
504 <div class="row">
505
506 <#assign servizi = documentoPubblico.getServizi() />
507 <#list servizi as servizio>
508
509 <#if servizio?? && servizio?has_content && servizio.getClassPKLong()?? >
510
511 <#assign servizioId = servizio.getClassPKLong() />
512
513 <#if servizioId?? && servizioId?has_content >
514
515 <#assign servizioJA = journalArticleLocalService.getLatestArticle(servizioId)>
516
517 <#if servizioJA.getDDMStructureKey() = structureService.getStructureServizioKey()>
518 <#assign servizioObj = jac.getServizio(servizioJA) />
519
520 <div class="col-12 col-sm-8 col-xl-6">
521 <div class="card-wrapper rounded shadow-sm h-auto">
522 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
523 <div class="card-body pe-3">
524 <h5 class="card-title">
525 <a class="text-decoration-none" href="/-/${servizioObj.getUrlTitle()}">
526 ${servizioObj.getTitolo()}
527 </a>
528 </h5>
529 <div class="card-text">
530 ${servizioObj.getAbstract_()}
531 </div>
532 </div>
533 <#if (servizioObj.getImmagineprincipale().immagine.getData())?? && servizioObj.getImmagineprincipale().immagine.getData()?has_content >
534 <div class="avatar size-xl">
535 <img src="${servizioObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${servizioObj.getImmagineprincipale().immagine.getAttribute("alt")}">
536 </div>
537 </#if>
538 </div>
539 </div>
540 </div>
541 </#if>
542 </#if>
543 </#if>
544 </#list>
545 </div>
546 </article>
547 </#if>
548
549 <#if documentoPubblico.getDocumentiCollegati()?? && documentoPubblico.getDocumentiCollegati()?has_content && documentoPubblico.getDocumentiCollegati()[0]?has_content && documentoPubblico.getDocumentiCollegati()[0].getClassPKLong()??>
550 <article id="allegati" class="it-page-section mb-5">
551 <h2 class="mb-3"><@liferay.language key="documento.pubblico.allegati" /></h2>
552 <#assign allegati = documentoPubblico.getDocumentiCollegati() />
553 <#list allegati as allegato>
554
555 <#if allegato?? && allegato?has_content && allegato.getClassPKLong()?? >
556
557 <#assign allegatoId = allegato.getClassPKLong() />
558
559 <#if allegatoId?? && allegatoId?has_content >
560
561 <#assign allegatoJA = journalArticleLocalService.getLatestArticle(allegatoId)>
562
563 <#if allegatoJA.getDDMStructureKey() = structureService.getStructureDocumentoPubblicoKey()>
564 <#assign allegatoObj = jac.getDocumentoPubblico(allegatoJA) />
565
566 <div class="card card-teaser shadow rounded mb-2">
567 <div class="card-body">
568 <h3 class="card-title h5 m-0">
569 <svg class="icon" aria-hidden="true">
570 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
571 </svg>
572 <a href="/-/${allegatoObj.getUrlTitle()}" class="text-decoration-none" title="${allegatoObj.getTitolo()}" aria-label="${allegatoObj.getTitolo()}">${allegatoObj.getTitolo()}</a>
573 </h3>
574 </div>
575 </div>
576 </#if>
577
578 </#if>
579 </#if>
580 </#list>
581 </article>
582 </#if>
583
584 <#if documentoPubblico.getContenutoCollegato()?? && documentoPubblico.getContenutoCollegato()?has_content && documentoPubblico.getContenutoCollegato()[0]?has_content && documentoPubblico.getContenutoCollegato()[0].getClassPKLong()??>
585 <article id="contenuti_collegati" class="it-page-section mb-5">
586 <h2 class="mb-3"><@liferay.language key="Contenuti collegati" /></h2>
587 <#assign allegati = documentoPubblico.getContenutoCollegato() />
588 <#list allegati as allegato>
589
590 <#if allegato?? && allegato?has_content && allegato.getClassPKLong()?? >
591
592 <#assign allegatoId = allegato.getClassPKLong() />
593
594 <#if allegatoId?? && allegatoId?has_content >
595
596 <#assign allegatoJA = journalArticleLocalService.getLatestArticle(allegatoId)>
597
598 <#if allegatoJA.getDDMStructureKey() = structureService.getStructurePaginaKey()>
599 <#assign allegatoObj = jac.getPagina(allegatoJA) />
600
601 <div class="card card-teaser shadow rounded mb-2">
602 <div class="card-body">
603 <h3 class="card-title h5 m-0">
604 <a href="/-/${allegatoObj.getUrlTitle()}" class="text-decoration-none" title="${allegatoObj.getTitolo()}" aria-label="${allegatoObj.getTitolo()}">${allegatoObj.getTitolo()}</a>
605 </h3>
606 </div>
607 </div>
608 </#if>
609 <#if allegatoJA.getDDMStructureKey() = structureService.getStructureServizioKey()>
610 <#assign allegatoObj = jac.getServizio(allegatoJA) />
611
612 <div class="card card-teaser shadow rounded mb-2">
613 <div class="card-body">
614 <h3 class="card-title h5 m-0">
615 <a href="/-/${allegatoObj.getUrlTitle()}" class="text-decoration-none" title="${allegatoObj.getTitolo()}" aria-label="${allegatoObj.getTitolo()}">${allegatoObj.getTitolo()}</a>
616 </h3>
617 </div>
618 </div>
619 </#if>
620 <#if allegatoJA.getDDMStructureKey() = structureService.getStructureNotiziaKey()>
621 <#assign allegatoObj = jac.getNotizia(allegatoJA) />
622
623 <div class="card card-teaser shadow rounded mb-2">
624 <div class="card-body">
625 <h3 class="card-title h5 m-0">
626 <a href="/-/${allegatoObj.getUrlTitle()}" class="text-decoration-none" title="${allegatoObj.getTitolo()}" aria-label="${allegatoObj.getTitolo()}">${allegatoObj.getTitolo()}</a>
627 </h3>
628 </div>
629 </div>
630 </#if>
631
632 </#if>
633 </#if>
634 </#list>
635 </article>
636 </#if>
637
638 <#if documentoPubblico.getDataset()?? && documentoPubblico.getDataset()?has_content && documentoPubblico.getDataset()[0]?has_content && documentoPubblico.getDataset()[0].getClassPKLong()??>
639 <article id="dataset" class="it-page-section mb-5">
640 <h2 class="mb-3"><@liferay.language key="documento.pubblico.dataset" /></h2>
641 <#assign datasets = documentoPubblico.getDataset() />
642 <#list datasets as dataset>
643
644 <#if dataset?? && dataset?has_content && dataset.getClassPKLong()?? >
645
646 <#assign datasetId = dataset.getClassPKLong() />
647
648 <#if datasetId?? && datasetId?has_content >
649
650 <#assign datasetJA = journalArticleLocalService.getLatestArticle(datasetId)>
651
652 <#if datasetJA.getDDMStructureKey() = structureService.getStructureDatasetKey()>
653 <#assign datasetObj = jac.getDataset(datasetJA) />
654
655 <div class="card card-teaser shadow rounded mb-2">
656 <div class="card-body">
657 <h3 class="card-title h5 m-0">
658 <svg class="icon" aria-hidden="true">
659 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
660 </svg>
661 <a href="${datasetObj.getDatasetUrl()}" class="text-decoration-none" title="${datasetObj.getTitolo()}" aria-label="${datasetObj.getTitolo()}">${datasetObj.getTitolo()}</a>
662 </h3>
663 </div>
664 </div>
665 </#if>
666
667 </#if>
668 </#if>
669 </#list>
670 </article>
671 </#if>
672
673 <#if (autore.getData())?? && (autore.getData())?has_content>
674 <article id="autore" class="it-page-section mb-5">
675 <h2 class="mb-3"><@liferay.language key="documento.pubblico.autore" /></h2>
676 <div class="link-list-wrapper -wrapper">
677 ${autore.getData()}
678 </div>
679 </article>
680 </#if>
681
682 <article id="formati" class="it-page-section mb-5">
683 <h2 class="mb-3"><@liferay.language key="documento.pubblico.formati" /></h2>
684 <div class="link-list-wrapper richtext-wrapper">
685 ${formati.getData()}
686 </div>
687 </article>
688
689 <#if documentoPubblico.getLicenza()?? && documentoPubblico.getLicenza()?has_content>
690 <article id="licenze" class="it-page-section mb-5">
691 <h2 class="mb-3"><@liferay.language key="documento.pubblico.licenza" /></h2>
692 <div class="link-list-wrapper">
693 <ul>
694 <#assign licenze = documentoPubblico.getLicenza() />
695 <#list licenze as licen>
696 <#if licen.getValues()?? && licen.getValues()?has_content>
697 <li>
698 ${licen.getValues()[0]}
699 </li>
700 </#if>
701 </#list>
702 </ul>
703 </div>
704 </article>
705 </#if>
706
707 <#if (informazioni.getData())?? && (informazioni.getData())?has_content>
708 <article id="informazioni" class="it-page-section mb-5">
709 <h2 class="mb-3"><@liferay.language key="documento.pubblico.informazioni" /></h2>
710 <div class="link-list-wrapper -wrapper">
711 ${informazioni.getData()}
712 </div>
713 </article>
714 </#if>
715
716 <#if (riferimenti.getData())?? && (riferimenti.getData())?has_content>
717 <article id="riferimenti" class="it-page-section mb-5">
718 <h2 class="mb-3"><@liferay.language key="documento.pubblico.riferimenti" /></h2>
719 <div class="link-list-wrapper richtext-wrapper">
720 ${riferimenti.getData()}
721 </div>
722 </article>
723 </#if>
724
725
726
727 <article id="ultimo-aggiornamento" class="anchor-offset mt-5">
728 <h4 class="h6"><@liferay.language key="detail.aggiornamento" />: <span class="h6 fw-normal">${modifieddate}</span></h4>
729 </article>
730 </section>
731 </div>
732</div>