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#81366" at line 608, column 73] ----
1<#assign structureService = serviceLocator.findService("it.inera.structure.service.StructureService")>
2<#assign argomentiVocabularyId = structureService.getVocabularyArgomentiId()>
3<#assign vocabularyTipiunitaorganizzativaId = structureService.getVocabularyTipiunitaorganizzativaId()>
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 unitaOrganizzativa = jac.getUnitaOrganizzativa(ja) />
11<#assign vocabularies = unitaOrganizzativa.getCategories() />
12
13<#assign displaydate = unitaOrganizzativa.getDisplayDate()?string["dd/MM/yyyy"]>
14<#assign modifieddate = unitaOrganizzativa.getModifiedDate()?string["dd/MM/yyyy"]>
15
16<#assign tipoUnitaorganizzativa = "">
17<#assign paginaTipoUnitaorganizzativa = "">
18
19<#if vocabularies?? && vocabularies?has_content >
20 <#list vocabularies as vocabularyId, categories>
21 <#if categories?? && categories?has_content && vocabularyId == vocabularyTipiunitaorganizzativaId >
22 <#list categories as category>
23 <#assign tipoUnitaorganizzativa = category.getTitle(locale)?replace(' ', '_')?lower_case >
24 <#assign paginaTipoUnitaorganizzativa = category.getDescription(locale)?replace('<[^>]+>','','r') >
25 </#list>
26 </#if>
27 </#list>
28</#if>
29
30<div class="container" id="main-container">
31
32 <div class="row">
33 <div class="col px-lg-4">
34 <div class="cmp-breadcrumbs" role="navigation">
35 <nav class="breadcrumb-container" aria-label="breadcrumb">
36 <ol class="breadcrumb p-0" data-element="breadcrumb">
37 <li class="breadcrumb-item"><a href="/" class="" data-focus-mouse="false"><@liferay.language key="breadcrumbs.home" /></a><span class="separator">/</span></li>
38 <li class="breadcrumb-item"><a href="/amministrazione"><@liferay.language key="breadcrumbs.amministrazione" /></a><span class="separator">/</span></li>
39 <#if paginaTipoUnitaorganizzativa?? && paginaTipoUnitaorganizzativa?has_content>
40 <li class="breadcrumb-item"><a href="${paginaTipoUnitaorganizzativa}"><@liferay.language key="breadcrumbs.${tipoUnitaorganizzativa}" /></a><span class="separator">/</span></li>
41 </#if>
42 <li class="breadcrumb-item active" aria-current="page">${nome.getData()}</li>
43 </ol>
44 </nav>
45 </div>
46 </div>
47 </div>
48
49 <div class="row">
50 <div class="col-lg-8 px-lg-4 py-lg-2">
51 <h1 data-audio>${nome.getData()}</h1>
52 <#if (abstract_.getData())??>
53 <p data-audio>
54 ${abstract_.getData()}
55 </p>
56 </#if>
57 </div>
58 <div class="col-lg-3 offset-lg-1">
59 <div class="dropdown d-inline">
60 <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">
61 <svg class="icon" aria-hidden="true">
62 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-share"></use>
63 </svg>
64 <small><@liferay.language key="social.condividi" /></small>
65 </button>
66 <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions">
67 <div class="link-list-wrapper">
68 <ul class="link-list share-btn" role="menu">
69 <li role="none">
70 <a data-id="fb" class="list-item" href="#" role="menuitem">
71 <svg class="icon" aria-hidden="true">
72 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-facebook"></use>
73 </svg>
74 <span><@liferay.language key="social.facebook" /></span>
75 </a>
76 </li>
77 <li role="none">
78 <a data-id="tw" class="list-item" href="#" role="menuitem">
79 <svg class="icon" aria-hidden="true">
80 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-twitter"></use>
81 </svg>
82 <span><@liferay.language key="social.twitter" /></span>
83 </a>
84 </li>
85 <li role="none">
86 <a data-id="in" class="list-item" href="#" role="menuitem">
87 <svg class="icon" aria-hidden="true">
88 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-linkedin"></use>
89 </svg>
90 <span><@liferay.language key="social.linkedin" /></span>
91 </a>
92 </li>
93 <li role="none">
94 <a data-id="wa" class="list-item" href="#" role="menuitem">
95 <svg class="icon" aria-hidden="true">
96 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-whatsapp"></use>
97 </svg>
98 <span><@liferay.language key="social.whatsapp" /></span>
99 </a>
100 </li>
101 </ul>
102 </div>
103 </div>
104 </div>
105 <div class="dropdown d-inline">
106 <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">
107 <svg class="icon" aria-hidden="true">
108 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-more-items"></use>
109 </svg>
110 <small><@liferay.language key="azioni.vedi" /></small>
111 </button>
112 <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions">
113 <div class="link-list-wrapper">
114 <ul class="link-list share-btn" role="menu">
115 <li role="none">
116 <a data-id="print" class="list-item" href="#" role="menuitem">
117 <svg class="icon" aria-hidden="true">
118 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-print"></use>
119 </svg>
120 <span><@liferay.language key="azioni.stampa" /></span>
121 </a>
122 </li>
123 <li role="none">
124 <a class="list-item" role="menuitem" onclick="listenElements(this, '[data-audio]')">
125 <svg class="icon" aria-hidden="true">
126 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-hearing"></use>
127 </svg>
128 <span><@liferay.language key="azioni.ascolta" /></span>
129 </a>
130 </li>
131 <li role="none">
132 <a data-id="mail" class="list-item" href="#" role="menuitem">
133 <svg class="icon" aria-hidden="true">
134 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-mail"></use>
135 </svg>
136 <span><@liferay.language key="azioni.invia" /></span>
137 </a>
138 </li>
139 </ul>
140 </div>
141 </div>
142 </div>
143
144 <#if vocabularies?? && vocabularies?has_content >
145 <#list vocabularies as vocabularyId, categories>
146 <#if categories?? && categories?has_content && vocabularyId == argomentiVocabularyId >
147 <div class="mt-4 mb-4">
148 <div class="row">
149 <span class="mb-2 small"><@liferay.language key="detail.argomenti" /></span>
150 </div>
151 <ul class="d-flex flex-wrap gap-1">
152 <#list categories as category>
153 <#assign categoryLink = "" >
154 <#if category.getDescription()?? && category.getDescription()?has_content >
155 <#assign plid = category.getDescription()?replace('<[^>]+>','','r')?replace('<[^>]+>','','r') >
156 <#if plid?? && plid?has_content && plid?is_number >
157 <#assign layoutDisplay = layoutLocalService.getLayout(plid?number) >
158 <#if layoutDisplay?? && layoutDisplay?has_content>
159 <#assign categoryLink = layoutDisplay.getFriendlyURL(themeDisplay.getLocale()) />
160 </#if>
161 </#if>
162 </#if>
163 <li>
164 <#if categoryLink?? && categoryLink?has_content >
165 <a class="chip chip-simple" href="${categoryLink}">
166 <span class="chip-label">${category.getTitle(locale)}</span>
167 </a>
168 <#else>
169 <div class="chip chip-simple text-button">
170 <span class="chip-label">${category.getTitle(locale)}</span>
171 </div>
172 </#if>
173 </li>
174 </#list>
175 </ul>
176 </div>
177 </#if>
178 </#list>
179 </#if>
180
181 </div>
182 </div>
183</div>
184<#if (immagineprincipale.immagine.getData())?? && immagineprincipale.immagine.getData()?has_content >
185 <div class="container-fluid my-3">
186 <div class="row">
187 <figure class="figure px-0 img-full">
188 <img src="${immagineprincipale.immagine.getData()}" class="figure-img img-fluid" alt="${immagineprincipale.immagine.getAttribute("alt")}">
189 <#if (immagineprincipale.immagine_titolo.getData())??>
190 <figcaption class="figure-caption text-center pt-3">${immagineprincipale.immagine_titolo.getData()}</figcaption>
191 </#if>
192 </figure>
193 </div>
194 </div>
195</#if>
196
197<div class="container">
198 <div class="row border-top border-light row-column-border row-column-menu-left">
199 <aside class="col-lg-3">
200 <div class="cmp-navscroll sticky-top" aria-labelledby="accordion-title-one">
201 <nav class="navbar it-navscroll-wrapper navbar-expand-lg" aria-label="<@liferay.language key="unita.organizzativa.indice" />" data-bs-navscroll>
202 <div class="navbar-custom" id="navbarNavProgress">
203 <div class="menu-wrapper">
204 <div class="link-list-wrapper">
205 <div class="accordion">
206 <div class="accordion-item">
207 <span class="accordion-header" id="accordion-title-one">
208 <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">
209 <@liferay.language key="unita.organizzativa.indice" />
210 <svg class="icon icon-xs right">
211 <use href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-expand"></use>
212 </svg>
213 </button>
214 </span>
215 <div class="progress">
216 <div class="progress-bar it-navscroll-progressbar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
217 </div>
218 <div id="collapse-one" class="accordion-collapse collapse show" role="region" aria-labelledby="accordion-title-one">
219 <div class="accordion-body">
220 <ul class="link-list" data-element="page-index">
221 <li class="nav-item">
222 <a class="nav-link" href="#competenze">
223 <span class="title-medium"><@liferay.language key="unita.organizzativa.competenze" /></span>
224 </a>
225 </li>
226 <#if unitaOrganizzativa.getResponsabile()?? && unitaOrganizzativa.getResponsabile()?has_content && unitaOrganizzativa.getResponsabile()[0]?has_content && unitaOrganizzativa.getResponsabile()[0].getClassPKLong()??>
227 <li class="nav-item">
228 <a class="nav-link" href="#responsabile">
229 <span class="title-medium"><@liferay.language key="unita.organizzativa.responsabile" /></span>
230 </a>
231 </li>
232 </#if>
233 <#if unitaOrganizzativa.getUnitaOrganizzativaGenitore()?? && unitaOrganizzativa.getUnitaOrganizzativaGenitore()?has_content && unitaOrganizzativa.getUnitaOrganizzativaGenitore()[0]?has_content && unitaOrganizzativa.getUnitaOrganizzativaGenitore()[0].getClassPKLong()??>
234 <li class="nav-item">
235 <a class="nav-link" href="#genitore">
236 <span class="title-medium"><@liferay.language key="unita.organizzativa.genitore" /></span>
237 </a>
238 </li>
239 </#if>
240
241 <#if unitaOrganizzativa.getUnitaOrganizzativeFiglie()?? && unitaOrganizzativa.getUnitaOrganizzativeFiglie()?has_content && unitaOrganizzativa.getUnitaOrganizzativeFiglie()[0]?has_content && unitaOrganizzativa.getUnitaOrganizzativeFiglie()[0].getClassPKLong()??>
242 <li class="nav-item">
243 <a class="nav-link" href="#figli">
244 <span class="title-medium"><@liferay.language key="Uffici e servizi" /></span>
245 </a>
246 </li>
247 </#if>
248 <#if unitaOrganizzativa.getAssessoreRiferimento()?? && unitaOrganizzativa.getAssessoreRiferimento()?has_content && unitaOrganizzativa.getAssessoreRiferimento().getClassPKLong()??>
249 <li class="nav-item">
250 <a class="nav-link" href="#assessore">
251 <span class="title-medium"><@liferay.language key="unita.organizzativa.assessore" /></span>
252 </a>
253 </li>
254 </#if>
255 <#if unitaOrganizzativa.getPersone()?? && unitaOrganizzativa.getPersone()?has_content && unitaOrganizzativa.getPersone()[0]?has_content && unitaOrganizzativa.getPersone()[0].getClassPKLong()??>
256 <li class="nav-item">
257 <a class="nav-link" href="#componenti">
258 <span class="title-medium"><@liferay.language key="Persone di riferimento" /></span>
259 </a>
260 </li>
261 </#if>
262 <#if unitaOrganizzativa.getContatti()?? && unitaOrganizzativa.getContatti()?has_content && unitaOrganizzativa.getContatti()[0]?has_content && unitaOrganizzativa.getContatti()[0].getClassPKLong()??>
263 <li class="nav-item">
264 <a class="nav-link" href="#contatti">
265 <span class="title-medium"><@liferay.language key="unita.organizzativa.contatti" /></span>
266 </a>
267 </li>
268 </#if>
269 <#if unitaOrganizzativa.getServiziOfferti()?? && unitaOrganizzativa.getServiziOfferti()?has_content && unitaOrganizzativa.getServiziOfferti()[0]?has_content && unitaOrganizzativa.getServiziOfferti()[0].getClassPKLong()??>
270 <li class="nav-item">
271 <a class="nav-link" href="#servizi">
272 <span class="title-medium"><@liferay.language key="unita.organizzativa.servizi" /></span>
273 </a>
274 </li>
275 </#if>
276 <#if unitaOrganizzativa.getSedePrincipale()?? && unitaOrganizzativa.getSedePrincipale()?has_content && unitaOrganizzativa.getSedePrincipale().getClassPKLong()??>
277 <li class="nav-item">
278 <a class="nav-link" href="#sede">
279 <span class="title-medium"><@liferay.language key="unita.organizzativa.sede" /></span>
280 </a>
281 </li>
282 </#if>
283 <#if unitaOrganizzativa.getAltreSedi()?? && unitaOrganizzativa.getAltreSedi()?has_content && unitaOrganizzativa.getAltreSedi()[0]?has_content && unitaOrganizzativa.getAltreSedi()[0].getClassPKLong()??>
284 <li class="nav-item">
285 <a class="nav-link" href="#sedi">
286 <span class="title-medium"><@liferay.language key="unita.organizzativa.altre.sedi" /></span>
287 </a>
288 </li>
289 </#if>
290 <#if unitaOrganizzativa.getAllegati()?? && unitaOrganizzativa.getAllegati()?has_content && unitaOrganizzativa.getAllegati()[0]?has_content && unitaOrganizzativa.getAllegati()[0].getClassPKLong()??>
291 <li class="nav-item">
292 <a class="nav-link" href="#allegati">
293 <span class="title-medium"><@liferay.language key="unita.organizzativa.allegati" /></span>
294 </a>
295 </li>
296 </#if>
297 <#if (informazioni.getData())?? && (informazioni.getData())?has_content>
298 <li class="nav-item">
299 <a class="nav-link" href="#informazioni">
300 <span class="title-medium"><@liferay.language key="unita.organizzativa.informazioni" /></span>
301 </a>
302 </li>
303 </#if>
304 </ul>
305 </div>
306 </div>
307 </div>
308 </div>
309 </div>
310 </div>
311 </div>
312 </nav>
313 </div>
314 </aside>
315 <section class="col-lg-9 it-page-sections-container border-light position-static">
316 <article id="competenze" class="it-page-section anchor-offset" data-audio>
317 <div class="richtext-wrapper">
318 ${competenze.getData()}
319 </div>
320 </article>
321
322 <#if unitaOrganizzativa.getResponsabile()?? && unitaOrganizzativa.getResponsabile()?has_content && unitaOrganizzativa.getResponsabile()[0]?has_content && unitaOrganizzativa.getResponsabile()[0].getClassPKLong()??>
323 <article id="responsabile" class="it-page-section anchor-offset mt-5 mb-5">
324 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.responsabile" /></h2>
325 <div class="row">
326
327 <#assign responsabili = unitaOrganizzativa.getResponsabile() />
328 <#list responsabili as r>
329
330 <#if r?? && r?has_content && r.getClassPKLong()?? >
331
332 <#assign responsabileId = r.getClassPKLong() />
333
334 <#if responsabileId?? && responsabileId?has_content >
335
336 <#assign responsabileJA = journalArticleLocalService.getLatestArticle(responsabileId)>
337
338 <#if responsabileJA.getDDMStructureKey() = structureService.getStructurePersonaPubblicaKey()>
339 <#assign personaObj = jac.getPersonaPubblica(responsabileJA) />
340
341 <div class="col-12 col-sm-8 col-xl-6">
342 <div class="card-wrapper rounded shadow-sm h-auto mb-3" style="height: 93% !important">
343 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
344 <div class="card-body pe-3">
345 <h5 class="card-title">
346 <a class="text-decoration-none" href="/-/${personaObj.getUrlTitle()}">
347 ${personaObj.getNome()} ${personaObj.getCognome()}
348 </a>
349 </h5>
350 <#if personaObj.getIncarichi()?? && personaObj.getIncarichi()?has_content && personaObj.getIncarichi()[0]?has_content && personaObj.getIncarichi()[0].getClassPKLong()??>
351 <div class="card-text">
352 <#assign incarichi = personaObj.getIncarichi() />
353 <#list incarichi as incarico>
354
355 <#if incarico?? && incarico?has_content && incarico.getClassPKLong()?? >
356 <#assign incaricoId = incarico.getClassPKLong() />
357 <#if incaricoId?? && incaricoId?has_content >
358 <#assign incaricoJA = journalArticleLocalService.getLatestArticle(incaricoId)>
359 <#if incaricoJA.getDDMStructureKey() = structureService.getStructureIncaricoKey()>
360 <#assign incaricoObj = jac.getIncarico(incaricoJA) />
361 ${incaricoObj.getTitolo()}<br/>
362 </#if>
363 </#if>
364 </#if>
365 </#list>
366 </div>
367 </#if>
368 </div>
369 <div class="avatar size-xl">
370 <#if (personaObj.getFoto().getUrl())?? && personaObj.getFoto().getUrl()?has_content >
371 <div class="avatar size-xl">
372 <img src="${personaObj.getFoto().getUrl()}" class="figure-img img-fluid" alt="${personaObj.getFoto().getAlt()}">
373 </div>
374 <#else>
375 <svg class="icon icon-primary">
376 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-user"></use>
377 </svg>
378 </#if>
379 </div>
380 </div>
381 </div>
382 </div>
383 </#if>
384
385 </#if>
386 </#if>
387 </#list>
388 </div>
389 </article>
390 </#if>
391
392 <#if unitaOrganizzativa.getUnitaOrganizzativaGenitore()?? && unitaOrganizzativa.getUnitaOrganizzativaGenitore()?has_content && unitaOrganizzativa.getUnitaOrganizzativaGenitore()[0]?has_content && unitaOrganizzativa.getUnitaOrganizzativaGenitore()[0].getClassPKLong()??>
393 <article id="genitore" class="it-page-section anchor-offset mt-5 mb-5">
394 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.genitore" /></h2>
395 <div class="row">
396
397 <#assign unitaOrganizzative = unitaOrganizzativa.getUnitaOrganizzativaGenitore() />
398 <#list unitaOrganizzative as u>
399
400 <#if u?? && u?has_content && u.getClassPKLong()?? >
401
402 <#assign unitaOrganizzativaId = u.getClassPKLong() />
403
404 <#if unitaOrganizzativaId?? && unitaOrganizzativaId?has_content >
405
406 <#assign unitaOrganizzativaJA = journalArticleLocalService.getLatestArticle(unitaOrganizzativaId)>
407
408 <#if unitaOrganizzativaJA.getDDMStructureKey() = structureService.getStructureUnitaOrganizzativaKey()>
409 <#assign unitaOrganizzativaObj = jac.getUnitaOrganizzativa(unitaOrganizzativaJA) />
410
411 <div class="col-12 col-sm-8 col-xl-6">
412 <div class="card-wrapper rounded shadow-sm h-auto">
413 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
414 <div class="card-body pe-3">
415 <h5 class="card-title">
416 <a class="text-decoration-none" href="/-/${unitaOrganizzativaObj.getUrlTitle()}">
417 ${unitaOrganizzativaObj.getNome()}
418 </a>
419 </h5>
420 <div class="card-text">
421 ${unitaOrganizzativaObj.getAbstract_()}
422 </div>
423 </div>
424 <#if (unitaOrganizzativaObj.getImmagineprincipale().immagine.getData())?? && unitaOrganizzativaObj.getImmagineprincipale().immagine.getData()?has_content >
425 <div class="avatar size-xl">
426 <img src="${unitaOrganizzativaObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${unitaOrganizzativaObj.getImmagineprincipale().immagine.getAttribute("alt")}">
427 </div>
428 </#if>
429 </div>
430 </div>
431 </div>
432
433 </#if>
434
435 </#if>
436 </#if>
437 </#list>
438 </div>
439 </article>
440 </#if>
441
442 <#if unitaOrganizzativa.getUnitaOrganizzativeFiglie()?? && unitaOrganizzativa.getUnitaOrganizzativeFiglie()?has_content && unitaOrganizzativa.getUnitaOrganizzativeFiglie()[0]?has_content && unitaOrganizzativa.getUnitaOrganizzativeFiglie()[0].getClassPKLong()??>
443 <article id="figli" class="it-page-section anchor-offset mt-5 mb-5">
444 <h2 class="mb-3"><@liferay.language key="Uffici e servizi" /></h2>
445 <div class="row">
446
447 <#assign unitaOrganizzative = unitaOrganizzativa.getUnitaOrganizzativeFiglie() />
448 <#list unitaOrganizzative as u>
449
450 <#if u?? && u?has_content && u.getClassPKLong()?? >
451
452 <#assign unitaOrganizzativaId = u.getClassPKLong() />
453
454 <#if unitaOrganizzativaId?? && unitaOrganizzativaId?has_content >
455
456 <#assign unitaOrganizzativaJA = journalArticleLocalService.getLatestArticle(unitaOrganizzativaId)>
457
458 <#if unitaOrganizzativaJA.getDDMStructureKey() = structureService.getStructureUnitaOrganizzativaKey()>
459 <#assign unitaOrganizzativaObj = jac.getUnitaOrganizzativa(unitaOrganizzativaJA) />
460
461 <div class="col-12 col-sm-8 col-xl-6">
462 <div class="card-wrapper rounded shadow-sm h-auto mb-3" style="height: 93% !important">
463 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
464 <div class="card-body pe-3">
465 <h5 class="card-title">
466 <a class="text-decoration-none" href="/-/${unitaOrganizzativaObj.getUrlTitle()}">
467 ${unitaOrganizzativaObj.getNome()}
468 </a>
469 </h5>
470 <div class="card-text">
471 ${unitaOrganizzativaObj.getAbstract_()}
472 </div>
473 </div>
474 <#if (unitaOrganizzativaObj.getImmagineprincipale().immagine.getData())?? && unitaOrganizzativaObj.getImmagineprincipale().immagine.getData()?has_content >
475 <div class="avatar size-xl">
476 <img src="${unitaOrganizzativaObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${unitaOrganizzativaObj.getImmagineprincipale().immagine.getAttribute("alt")}">
477 </div>
478 </#if>
479 </div>
480 </div>
481 </div>
482
483 </#if>
484
485 </#if>
486 </#if>
487 </#list>
488 </div>
489 </article>
490 </#if>
491
492 <#if unitaOrganizzativa.getAssessoreRiferimento()?? && unitaOrganizzativa.getAssessoreRiferimento()?has_content && unitaOrganizzativa.getAssessoreRiferimento().getClassPKLong()??>
493 <article id="assessore" class="it-page-section anchor-offset mt-5 mb-5">
494 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.assessore" /></h2>
495 <div class="row">
496
497 <#assign assessoreId = unitaOrganizzativa.getAssessoreRiferimento().getClassPKLong() />
498
499 <#if assessoreId?? && assessoreId?has_content >
500
501 <#assign assessoreJA = journalArticleLocalService.getLatestArticle(assessoreId)>
502
503 <#if assessoreJA.getDDMStructureKey() = structureService.getStructurePersonaPubblicaKey()>
504 <#assign assessoreObj = jac.getPersonaPubblica(assessoreJA) />
505
506 <div class="col-12 col-sm-8 col-xl-6">
507 <div class="card-wrapper rounded shadow-sm h-auto">
508 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
509 <div class="card-body pe-3">
510 <h5 class="card-title">
511 <a class="text-decoration-none" href="/-/${assessoreObj.getUrlTitle()}">
512 ${assessoreObj.getNome()} ${assessoreObj.getCognome()}
513 </a>
514 </h5>
515 </div>
516 </div>
517 </div>
518 </div>
519
520 </#if>
521
522 </#if>
523 </div>
524 </article>
525 </#if>
526
527 <#if unitaOrganizzativa.getPersone()?? && unitaOrganizzativa.getPersone()?has_content && unitaOrganizzativa.getPersone()[0]?has_content && unitaOrganizzativa.getPersone()[0].getClassPKLong()??>
528 <article id="componenti" class="it-page-section anchor-offset mt-5 mb-5">
529 <h2 class="mb-3"><@liferay.language key="Persone di riferimento" /></h2>
530 <div class="row">
531
532 <#assign persone = unitaOrganizzativa.getPersone() />
533 <#list persone as persona>
534
535 <#if persona?? && persona?has_content && persona.getClassPKLong()?? >
536
537 <#assign personaId = persona.getClassPKLong() />
538
539 <#if personaId?? && personaId?has_content >
540
541 <#assign personaJA = journalArticleLocalService.getLatestArticle(personaId)>
542
543 <#if personaJA.getDDMStructureKey() = structureService.getStructurePersonaPubblicaKey()>
544 <#assign personaObj = jac.getPersonaPubblica(personaJA) />
545
546 <div class="col-12 col-sm-8 col-xl-6">
547 <div class="card-wrapper rounded shadow-sm h-auto mb-3" style="height: 93% !important">
548 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
549 <div class="card-body pe-3">
550 <h5 class="card-title">
551 <a class="text-decoration-none" href="/-/${personaObj.getUrlTitle()}">
552 ${personaObj.getNome()} ${personaObj.getCognome()}
553 </a>
554 </h5>
555 <#if personaObj.getIncarichi()?? && personaObj.getIncarichi()?has_content && personaObj.getIncarichi()[0]?has_content && personaObj.getIncarichi()[0].getClassPKLong()??>
556 <div class="card-text">
557 <#assign incarichi = personaObj.getIncarichi() />
558 <#list incarichi as incarico>
559
560 <#if incarico?? && incarico?has_content && incarico.getClassPKLong()?? >
561 <#assign incaricoId = incarico.getClassPKLong() />
562 <#if incaricoId?? && incaricoId?has_content >
563 <#assign incaricoJA = journalArticleLocalService.getLatestArticle(incaricoId)>
564 <#if incaricoJA.getDDMStructureKey() = structureService.getStructureIncaricoKey()>
565 <#assign incaricoObj = jac.getIncarico(incaricoJA) />
566 ${incaricoObj.getTitolo()}<br/>
567 </#if>
568 </#if>
569 </#if>
570 </#list>
571 </div>
572 </#if>
573 </div>
574 <div class="avatar size-xl">
575 <#if (personaObj.getFoto().getUrl())?? && personaObj.getFoto().getUrl()?has_content >
576 <div class="avatar size-xl">
577 <img src="${personaObj.getFoto().getUrl()}" class="figure-img img-fluid" alt="${personaObj.getFoto().getAlt()}">
578 </div>
579 <#else>
580 <svg class="icon icon-primary">
581 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-user"></use>
582 </svg>
583 </#if>
584 </div>
585 </div>
586 </div>
587 </div>
588 </#if>
589 </#if>
590 </#if>
591 </#list>
592 </div>
593 </article>
594 </#if>
595
596 <#if unitaOrganizzativa.getContatti()?? && unitaOrganizzativa.getContatti()?has_content && unitaOrganizzativa.getContatti()[0]?has_content && unitaOrganizzativa.getContatti()[0].getClassPKLong()??>
597 <article id="contatti" class="it-page-section mb-5">
598 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.contatti" /></h2>
599 <#assign contattiList = unitaOrganizzativa.getContatti() />
600 <div class="mb-4">
601 <#list contattiList as contatto>
602 <#if contatto?? && contatto?has_content && contatto.getClassPKLong()?? >
603
604 <#assign contattoId = contatto.getClassPKLong() />
605
606 <#if contattoId?? && contattoId?has_content >
607
608 <#assign contattoJA = journalArticleLocalService.getLatestArticle(contattoId)>
609
610 <#if contattoJA.getDDMStructureKey() = structureService.getStructurePuntoDiContattoKey()>
611 <#assign contattoObj = jac.getPuntoDiContatto(contattoJA) />
612
613 <div class="card card-teaser shadow rounded mb-2">
614 <svg class="icon" aria-hidden="true">
615 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-pin"></use>
616 </svg>
617 <div class="card-body">
618 <#if contattoObj.getPersonaPubblica()?? && contattoObj.getPersonaPubblica()?has_content && contattoObj.getPersonaPubblica().getClassPKLong()?? >
619 <#assign personaPubblicaId = contattoObj.getPersonaPubblica().getClassPKLong() />
620 <#if personaPubblicaId?? && personaPubblicaId?has_content >
621
622 <#assign personaPubblicaJA = journalArticleLocalService.getLatestArticle(personaPubblicaId)>
623
624 <#if personaPubblicaJA.getDDMStructureKey() = structureService.getStructurePersonaPubblicaKey()>
625 <#assign personaPubblicaObj = jac.getPersonaPubblica(personaPubblicaJA) />
626 <h3 class="card-title h5">
627 <a href="/-/${personaPubblicaObj.getUrlTitle()}" class="text-decoration-none">
628 ${personaPubblicaObj.getNome()} ${personaPubblicaObj.getCognome()}
629 </a>
630 </h3>
631 </#if>
632 </#if>
633 </#if>
634
635 <#assign contattolink = "" >
636 <#if (contattoObj.getTipo())?? && (contattoObj.getTipo())?has_content>
637 <#assign tipoObj = contattoObj.getTipo()[0] >
638 <#list tipoObj.getValues() as tipo>
639 <#if (tipo)?? && (tipo)?has_content>
640 <#if tipo == "Telefono">
641 <#assign contattolink = "tel:" + contattoObj.getValore() >
642 </#if>
643 <#if tipo == "Email">
644 <#assign contattolink = "mailto:" + contattoObj.getValore() >
645 </#if>
646 </#if>
647 </#list>
648 </#if>
649
650 <div class="card-text">
651 <p class="fw-semibold">${contattoObj.getTipo()[0].getValues()[0]}:</p>
652 <#if (contattolink)?? && (contattolink)?has_content>
653 <a href="${contattolink}">${contattoObj.getTitololink()}</a>
654 <#else>
655 ${contattoObj.getTitololink()}
656 </#if>
657 </div>
658
659 </div>
660 </div>
661
662
663 </#if>
664 </#if>
665 </#if>
666 </#list>
667 </div>
668 </article>
669 </#if>
670
671 <#if unitaOrganizzativa.getServiziOfferti()?? && unitaOrganizzativa.getServiziOfferti()?has_content && unitaOrganizzativa.getServiziOfferti()[0]?has_content && unitaOrganizzativa.getServiziOfferti()[0].getClassPKLong()??>
672 <article id="servizi" class="it-page-section mb-5">
673 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.servizi" /></h2>
674 <div class="row">
675
676 <#assign servizi = unitaOrganizzativa.getServiziOfferti() />
677 <#list servizi as servizio>
678
679 <#if servizio?? && servizio?has_content && servizio.getClassPKLong()?? >
680
681 <#assign servizioId = servizio.getClassPKLong() />
682
683 <#if servizioId?? && servizioId?has_content >
684
685 <#assign servizioJA = journalArticleLocalService.getLatestArticle(servizioId)>
686
687 <#if servizioJA.getDDMStructureKey() = structureService.getStructureServizioKey()>
688 <#assign servizioObj = jac.getServizio(servizioJA) />
689
690 <div class="col-12 col-sm-8 col-xl-6">
691 <div class="card-wrapper rounded shadow-sm h-auto">
692 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
693 <div class="card-body pe-3">
694 <h5 class="card-title">
695 <a class="text-decoration-none" href="/-/${servizioObj.getUrlTitle()}">
696 ${servizioObj.getTitolo()}
697 </a>
698 </h5>
699 <div class="card-text">
700 ${servizioObj.getAbstract_()}
701 </div>
702 </div>
703 <#if (servizioObj.getImmagineprincipale().immagine.getData())?? && servizioObj.getImmagineprincipale().immagine.getData()?has_content >
704 <div class="avatar size-xl">
705 <img src="${servizioObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${servizioObj.getImmagineprincipale().immagine.getAttribute("alt")}">
706 </div>
707 </#if>
708 </div>
709 </div>
710 </div>
711 </#if>
712 </#if>
713 </#if>
714 </#list>
715 </div>
716 </article>
717 </#if>
718
719 <#if unitaOrganizzativa.getSedePrincipale()?? && unitaOrganizzativa.getSedePrincipale()?has_content && unitaOrganizzativa.getSedePrincipale().getClassPKLong()??>
720 <article id="sede" class="it-page-section mb-5">
721 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.sede" /></h2>
722 <div class="row">
723
724 <#assign luogo = unitaOrganizzativa.getSedePrincipale() />
725 <#if luogo?? && luogo?has_content && luogo.getClassPKLong()?? >
726
727 <#assign luogoId = luogo.getClassPKLong() />
728
729 <#if luogoId?? && luogoId?has_content >
730
731 <#assign luogoJA = journalArticleLocalService.getLatestArticle(luogoId)>
732
733 <#if luogoJA.getDDMStructureKey() = structureService.getStructureLuogoKey()>
734 <#assign luogoObj = jac.getLuogo(luogoJA) />
735
736 <div class="col-12 col-sm-8 col-xl-6">
737 <div class="card-wrapper rounded shadow-sm h-auto">
738 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
739 <div class="card-body pe-3">
740 <h5 class="card-title">
741 <a class="text-decoration-none" href="/-/${luogoObj.getUrlTitle()}">
742 ${luogoObj.getNome()}
743 </a>
744 </h5>
745 <div class="card-text">
746 ${luogoObj.getIndirizzo()}
747 </div>
748 </div>
749 <#if (luogoObj.getImmagineprincipale().immagine.getUrl())?? && luogoObj.getImmagineprincipale().immagine.getUrl()?has_content >
750 <div class="avatar size-xl">
751 <img src="${luogoObj.getImmagineprincipale().immagine.getUrl()}" class="figure-img img-fluid" alt="${luogoObj.getImmagineprincipale().immagine.getAlt()}">
752 </div>
753 </#if>
754 </div>
755 </div>
756 </div>
757
758 </#if>
759
760 </#if>
761 </#if>
762 </div>
763 </article>
764 </#if>
765
766 <#if unitaOrganizzativa.getAltreSedi()?? && unitaOrganizzativa.getAltreSedi()?has_content && unitaOrganizzativa.getAltreSedi()[0]?has_content && unitaOrganizzativa.getAltreSedi()[0].getClassPKLong()??>
767 <article id="sedi" class="it-page-section mb-5">
768 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.altre.sedi" /></h2>
769 <div class="row">
770
771 <#assign luoghi = unitaOrganizzativa.getAltreSedi() />
772 <#list luoghi as luogo>
773
774 <#if luogo?? && luogo?has_content && luogo.getClassPKLong()?? >
775
776 <#assign luogoId = luogo.getClassPKLong() />
777
778 <#if luogoId?? && luogoId?has_content >
779
780 <#assign luogoJA = journalArticleLocalService.getLatestArticle(luogoId)>
781
782 <#if luogoJA.getDDMStructureKey() = structureService.getStructureLuogoKey()>
783 <#assign luogoObj = jac.getLuogo(luogoJA) />
784
785 <div class="col-12 col-sm-8 col-xl-6">
786 <div class="card-wrapper rounded shadow-sm h-auto">
787 <div class="card card-teaser card-teaser-info rounded shadow-sm p-4">
788 <div class="card-body pe-3">
789 <h5 class="card-title">
790 <a class="text-decoration-none" href="/-/${luogoObj.getUrlTitle()}">
791 ${luogoObj.getNome()}
792 </a>
793 </h5>
794 <div class="card-text">
795 ${luogoObj.getIndirizzo()}
796 </div>
797 </div>
798 <#if (luogoObj.getImmagineprincipale().immagine.getData())?? && luogoObj.getImmagineprincipale().immagine.getData()?has_content >
799 <div class="avatar size-xl">
800 <img src="${luogoObj.getImmagineprincipale().immagine.getData()}" class="figure-img img-fluid" alt="${luogoObj.getImmagineprincipale().immagine.getAttribute("alt")}">
801 </div>
802 </#if>
803 </div>
804 </div>
805 </div>
806
807 </#if>
808
809 </#if>
810 </#if>
811 </#list>
812 </div>
813 </article>
814 </#if>
815
816 <#if unitaOrganizzativa.getAllegati()?? && unitaOrganizzativa.getAllegati()?has_content && unitaOrganizzativa.getAllegati()[0]?has_content && unitaOrganizzativa.getAllegati()[0].getClassPKLong()??>
817 <article id="allegati" class="it-page-section mb-5">
818 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.allegati" /></h2>
819 <#assign allegati = unitaOrganizzativa.getAllegati() />
820 <#list allegati as allegato>
821
822 <#if allegato?? && allegato?has_content && allegato.getClassPKLong()?? >
823
824 <#assign allegatoId = allegato.getClassPKLong() />
825
826 <#if allegatoId?? && allegatoId?has_content >
827
828 <#assign allegatoJA = journalArticleLocalService.getLatestArticle(allegatoId)>
829
830 <#if allegatoJA.getDDMStructureKey() = structureService.getStructureDocumentoPubblicoKey()>
831 <#assign allegatoObj = jac.getDocumentoPubblico(allegatoJA) />
832
833 <div class="card card-teaser shadow rounded mb-2">
834 <div class="card-body">
835 <h3 class="card-title h5 m-0">
836 <svg class="icon" aria-hidden="true">
837 <use xlink:href="${themeDisplay.getPathThemeImages()}/bootstrap-italia/svg/sprites.svg#it-clip"></use>
838 </svg>
839 <a href="/-/${allegatoObj.getUrlTitle()}" class="text-decoration-none" title="${allegatoObj.getTitolo()}" aria-label="${allegatoObj.getTitolo()}">${allegatoObj.getTitolo()}</a>
840 </h3>
841 </div>
842 </div>
843 </#if>
844
845 </#if>
846 </#if>
847 </#list>
848 </article>
849 </#if>
850
851 <#if (informazioni.getData())?? && (informazioni.getData())?has_content>
852 <article id="informazioni" class="it-page-section mb-5">
853 <h2 class="mb-3"><@liferay.language key="unita.organizzativa.informazioni" /></h2>
854 <div class="link-list-wrapper richtext-wrapper">
855 ${informazioni.getData()}
856 </div>
857 </article>
858 </#if>
859
860 <article id="ultimo-aggiornamento" class="anchor-offset mt-5">
861 <h4 class="h6"><@liferay.language key="detail.aggiornamento" />: <span class="h6 fw-normal">${modifieddate}</span></h4>
862 </article>
863 </section>
864 </div>
865</div>