Da visitare

In questa sezione trovate i punti principali che potete visitare nel Comune di Salice Salentino

Si è verificato un errore nell'elaborarazione del modello.
Java method "com.sun.proxy.$Proxy90.getFileEntryByUuidAndGroupId(String, long)" threw an exception when invoked on com.sun.proxy.$Proxy90 object "com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl@7d93182e"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign dlFileEntry = dlFileEntryServ...  [in template "34140#34167#34799" at line 227, column 73]
----
1<#-- instance id --> 
2<#assign instanceId = themeDisplay.getPortletDisplay().getId()?keep_after("INSTANCE_") /> 
3 
4<#-- etichette --> 
5<#assign label_notizia = languageUtil.get(locale, "label_notizia") /> 
6<#assign label_evento = languageUtil.get(locale, "label_evento") /> 
7<#assign label_comunicato_stampa = languageUtil.get(locale, "label_comunicato_stampa") /> 
8<#assign label_vai_argomento = languageUtil.get(locale, "label_vai_argomento") /> 
9<#assign label_tutte_novita = languageUtil.get(locale, "label_tutte_novita") /> 
10<#assign label_leggi_piu = languageUtil.get(locale, "label_leggi_piu") /> 
11<#assign label_vai_alla_pagina = languageUtil.get(locale, "label_vai_alla_pagina") /> 
12<#assign label_leggi_notizia = languageUtil.get(locale, "label_leggi_notizia") /> 
13<#assign label_leggi_evento = languageUtil.get(locale, "label_leggi_evento") /> 
14<#assign label_leggi_comunicato = languageUtil.get(locale, "label_leggi_comunicato") /> 
15<#assign label_in_evidenza = languageUtil.get(locale, "label_in_evidenza") /> 
16 
17<#-- Ricavo servizi utili in seguito --> 
18<#-- Servizi utili per ricavare le categorie e relative properties --> 
19<#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
20 
21<#-- Servizi utili pe ricavare le immagini dalla D&M --> 
22<#assign dlFileEntryService = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryLocalService') /> 
23<#assign dlUtil = serviceLocator.findService('com.liferay.document.library.kernel.util.DLUtil') /> 
24<#assign dlAppService = serviceLocator.findService('com.liferay.document.library.kernel.service.DLAppService') /> 
25 
26<#-- Servizio per i layout di pagina --> 
27<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
28 
29<#-- Funzioni utilita --> 
30<#-- Ripulisco stringa da caratteri speciali --> 
31<#function escapeExtraChar text> 
32    <#return text?replace("\"","&quot;", "r")?replace("'","&rsquo;", "r")> 
33</#function> 
34 
35<#-- Verifico se il primo elemento di una lista esiste --> 
36<#function firstOfListNotEmpty list> 
37    <#assign result = false /> 
38	<#if list?? && list?has_content && list.getSiblings()?has_content && list.getSiblings()?first.getData()?has_content> 
39    	<#assign result = true />  
40    </#if> 
41    <#return result> 
42</#function> 
43 
44<#-- Se il carattere indicato è il prefisso della categoria, indica che la stessa non deve essere mostrata a video, ma viene solo usata per scopi funzionali --> 
45<#assign PREFIX_SERVICE_CATEGORY = "_" /> 
46 
47<#-- Ricavo tutte le categorie associate ad un articolo a meno di quelle che hanno un prefisso "_" --> 
48<#function getCategoryByArticlePrimKey articlePrimKey> 
49    <#assign tmp = "" />	 
50    <#assign articleCatNames = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) /> 
51	<#if (articleCatNames?size > 0)> 
52		<#list articleCatNames as category>	 
53			<#if category.name?substring(0,1) != PREFIX_SERVICE_CATEGORY > 
54				<#assign tmp = tmp + category.name + ", " />	 
55			</#if> 
56		</#list> 
57		<#assign tmp = tmp?keep_before_last(",") />				 
58	</#if>  
59    <#return tmp> 
60</#function> 
61 
62<#-- variante: restituisce solo la lista di oggetti category --> 
63<#function getListCategoryByArticlePrimKey articlePrimKey> 
64    <#assign listCategories = [] />	 
65    <#assign articleCat = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(articlePrimKey)) /> 
66	<#if (articleCat?size > 0)> 
67		<#list articleCat as category>	 
68			<#if category.name?substring(0,1) != PREFIX_SERVICE_CATEGORY > 
69				<#assign listCategories = listCategories + [category] />	 
70			</#if> 
71		</#list> 
72	</#if>  
73    <#return listCategories> 
74</#function> 
75 
76<#-- Verifico che la lista di elementi dell'asset siano journal article --> 
77<#function isJournalArticle renderer> 
78	<#return ("com.liferay.journal.model.JournalArticle" == renderer.getClassName() ) > 
79</#function> 
80<#function getElements renderer> 
81	<#assign journalArticle = renderer.getArticle() /> 
82	<#assign document = saxReaderUtil.read(journalArticle.getContent()) /> 
83	<#assign rootElement = document.getRootElement() /> 
84	<#return rootElement.elements() > 
85</#function> 
86 
87<#-- ricavo dai campi personalizzati i valori degli elenco pagine Novita' --> 
88<#assign URL_PAGINA_NOVITA = "" /> 
89<#assign URL_PAGINA_NOTIZIE = "" /> 
90<#assign URL_PAGINA_COMUNICATI = "" /> 
91<#assign URL_PAGINA_EVENTI = "" /> 
92<#if validator.isNotNull(themeDisplay.getLayout().getGroup().getExpandoBridge()) > 
93	<#if (( themeDisplay.getLayout().getGroup().getExpandoBridge().hasAttribute("pagina_novita"))) > 
94		<#if themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_novita")??> 
95			<#assign URL_PAGINA_NOVITA = themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_novita")/> 
96			<#-- data la pagina dell'elenco, ne ricavo la regular url --> 
97			<#if URL_PAGINA_NOVITA?has_content> 
98				<#assign paginaNovitaLayout = layoutLocalService.getFriendlyURLLayout(groupId, false, URL_PAGINA_NOVITA) /> 
99				<#if paginaNovitaLayout??> 
100					<#assign paginaNovitaUrl = paginaNovitaLayout.getRegularURL(request) /> 
101					<#if paginaNovitaUrl??>						 
102						<#assign URL_PAGINA_NOVITA = paginaNovitaUrl /> 
103					</#if> 
104				</#if> 
105			</#if>	 
106		</#if> 
107	</#if> 
108	<#if (( themeDisplay.getLayout().getGroup().getExpandoBridge().hasAttribute("pagina_elenco_notizie"))) > 
109		<#if themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_elenco_notizie")??> 
110			<#assign URL_PAGINA_NOTIZIE = themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_elenco_notizie")/> 
111			<#-- data la pagina dell'elenco, ne ricavo la regular url --> 
112			<#if URL_PAGINA_NOTIZIE?has_content> 
113				<#assign paginaNotizieLayout = layoutLocalService.getFriendlyURLLayout(groupId, false, URL_PAGINA_NOTIZIE) /> 
114				<#if paginaNotizieLayout??> 
115					<#assign paginaNotizieUrl = paginaNotizieLayout.getRegularURL(request) /> 
116					<#if paginaNotizieUrl??>						 
117						<#assign URL_PAGINA_NOTIZIE = paginaNotizieUrl /> 
118					</#if> 
119				</#if> 
120			</#if>	 
121		</#if> 
122	</#if> 
123	<#if (( themeDisplay.getLayout().getGroup().getExpandoBridge().hasAttribute("pagina_elenco_comunicati"))) > 
124		<#if themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_elenco_comunicati")??> 
125			<#assign URL_PAGINA_COMUNICATI = themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_elenco_comunicati")/> 
126			<#-- data la pagina dell'elenco, ne ricavo la regular url --> 
127			<#if URL_PAGINA_COMUNICATI?has_content> 
128				<#assign paginaComunicatiLayout = layoutLocalService.getFriendlyURLLayout(groupId, false, URL_PAGINA_COMUNICATI) /> 
129				<#if paginaComunicatiLayout??> 
130					<#assign paginaComunicatiUrl = paginaComunicatiLayout.getRegularURL(request) /> 
131					<#if paginaComunicatiUrl??>						 
132						<#assign URL_PAGINA_COMUNICATI = paginaComunicatiUrl /> 
133					</#if> 
134				</#if> 
135			</#if>	 
136		</#if> 
137	</#if> 
138	<#if (( themeDisplay.getLayout().getGroup().getExpandoBridge().hasAttribute("pagina_elenco_eventi"))) > 
139		<#if themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_elenco_eventi")??> 
140			<#assign URL_PAGINA_EVENTI = themeDisplay.getLayout().getGroup().getExpandoBridge().getAttribute("pagina_elenco_eventi")/> 
141			<#-- data la pagina dell'elenco, ne ricavo la regular url --> 
142			<#if URL_PAGINA_EVENTI?has_content> 
143				<#assign paginaEventiLayout = layoutLocalService.getFriendlyURLLayout(groupId, false, URL_PAGINA_EVENTI) /> 
144				<#if paginaEventiLayout??> 
145					<#assign paginaEventiUrl = paginaEventiLayout.getRegularURL(request) /> 
146					<#if paginaEventiUrl??>						 
147						<#assign URL_PAGINA_EVENTI = paginaEventiUrl /> 
148					</#if> 
149				</#if> 
150			</#if>	 
151		</#if> 
152	</#if> 
153</#if> 
154 
155<#-- INIZIO ADT --> 
156<#if !entries?has_content> 
157	<#if !themeDisplay.isSignedIn()> 
158		${renderRequest.setAttribute("PORTLET_CONFIGURATOR_VISIBILITY", true)} 
159	</#if> 
160	<section class="adt-comune adt-contenuti-evidenza bg-light"> 
161		<div class="container"> 
162			<div class="row"> 
163				<div class="col"> 
164					<h2 class="titolo-sezione mb-4">${label_in_evidenza}</h2> 
165				</div> 
166			</div> 
167			<div class="alert alert-info"> 
168				<@liferay_ui["message"] key="there-are-no-results" />  
169			</div> 
170		</div> 
171	</section> 
172</#if> 
173 
174<#if entries?has_content> 
175	<section class="adt-comune adt-contenuti-evidenza bg-light"> 
176		<div class="container"> 
177			 
178			<div class="row"> 
179				<div class="col"> 
180					<h2 class="titolo-sezione mb-4">${label_in_evidenza}</h2> 
181				</div> 
182			</div> 
183 
184			<div class="row"> 
185 
186				<#assign contatore = 0 /> 
187				 
188			    <#list entries as curEntry> 
189					<#assign contatore = contatore + 1 /> 
190					 
191			    	<#assign renderer = curEntry.getAssetRenderer() /> 
192					 
193					<#-- verifico che sia un journal article --> 
194			    	<#if isJournalArticle(renderer)> 
195			 
196						<#-- ricavo il primekey --> 
197			    		<#assign articlePrimKey = renderer.getArticle().getResourcePrimKey() /> 
198			    		 
199						<#-- ricavo il titolo --> 
200			    		<#assign titolo = escapeExtraChar(curEntry.getTitle(locale)) /> 
201			    		 
202						<#-- ricavo la view url --> 
203			    		<#assign viewUrl = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) /> 
204						<#if assetLinkBehavior != "showFullContent"> 
205							<#assign viewUrl = renderer.getURLViewInContext(renderRequest, renderResponse, viewUrl) />			 
206						</#if> 
207			    		 
208			    		<#-- ricavo la struttura dell articolo--> 
209			    		<#assign journalArticle = renderer.getArticle() /> 
210			    		<#assign journalArticleStructure = journalArticle.getDDMStructure().getName(locale) /> 
211			    		 
212						<#-- inizializzo le variabili che uso --> 
213			    		<#assign categorie = [], title = "", date = "", start_date = "", image = "", abstract = "", paginaElencoUrl = "", pagineElencoNome = "", labelLeggi = "" > 
214			 
215			    		<#-- recupero l'elenco delle categorie da visualizzare --> 
216						<#assign categorie = getListCategoryByArticlePrimKey( articlePrimKey ) /> 
217			    	 
218			    		<#-- recupero i dati dalla struttura dell'articolo --> 
219			    		<#list getElements(renderer) as dynamicElement> 
220			   				<#if "title" == dynamicElement.attributeValue("name")> 
221								<#assign title = dynamicElement.element("dynamic-content").getText() /> 
222								<#assign title = title?trim /> 
223			   				<#elseif "image" == dynamicElement.attributeValue("name")> 
224								<#assign imageJString = dynamicElement.element("dynamic-content").getText() /> 
225								<#if imageJString?? && imageJString?has_content> 
226									<#assign imageJson = imageJString?eval /> 
227									<#assign dlFileEntry = dlFileEntryService.getFileEntryByUuidAndGroupId(imageJson.uuid, imageJson.groupId?number) /> 
228									<#assign fileEntry = dlAppService.getFileEntry(dlFileEntry.fileEntryId) /> 
229									<#assign dlFile = dlUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, "") /> 
230									<#assign image = dlFile /> 
231								</#if> 
232							<#elseif "date" == dynamicElement.attributeValue("name")> 
233			   					<#assign date = dynamicElement.element("dynamic-content").getText() /> 
234			   				<#elseif "start_date" == dynamicElement.attributeValue("name")> 
235			   					<#assign start_date = dynamicElement.element("dynamic-content").getText() />	 
236							<#elseif "abstract" == dynamicElement.attributeValue("name")> 
237								<#assign abstract = dynamicElement.element("dynamic-content").getText() /> 
238								<#assign abstract = abstract?trim /> 
239								<#assign abstract =	htmlUtil.extractText(abstract) /> 
240							</#if> 
241						</#list> 
242	 
243						<#-- recupero la pagina da associare al nome della struttura --> 
244						<#if journalArticleStructure == "Notizia"> 
245							<#assign pagineElencoNome = label_notizia />	 
246							<#assign labelLeggi = label_leggi_notizia />	 
247							<#if URL_PAGINA_NOTIZIE !=""> 
248								<#assign paginaElencoUrl = URL_PAGINA_NOTIZIE /> 
249							</#if>	 
250						<#elseif journalArticleStructure == "Comunicato stampa"> 
251							<#assign pagineElencoNome = label_comunicato_stampa />	 
252							<#assign labelLeggi = label_leggi_comunicato />	 
253							<#if URL_PAGINA_COMUNICATI !="">					 
254								<#assign paginaElencoUrl = URL_PAGINA_COMUNICATI /> 
255							</#if>	 
256						<#elseif journalArticleStructure == "Evento"> 
257							<#assign pagineElencoNome = label_evento />	 
258							<#assign labelLeggi = label_leggi_evento />	 
259							<#if URL_PAGINA_EVENTI !=""> 
260								<#assign paginaElencoUrl = URL_PAGINA_EVENTI /> 
261							</#if>	 
262						</#if> 
263						 
264						<#-- HTML --> 
265						<div class="col-lg-4 mb-3"> 
266							<div class="card h-100"> 
267								<#if (validator.isNotNull(image) && image != "") || (validator.isNotNull(start_date))> 
268									<div class="card-img-wrapper"> 
269										<#-- parso la data e la formatto --> 
270										<#if validator.isNotNull(start_date)> 
271											<#assign start_date_DateObj = dateUtil.parseDate("yyyy-MM-dd", start_date, locale) /> 
272											<#assign start_date = dateUtil.getDate(start_date_DateObj, "dd-MMM", locale) /> 
273										</#if> 
274										<#if validator.isNotNull(start_date) && start_date != ""> 
275											<#assign giorno_mese = start_date?split("-") />	 
276						 					<span class="card-calendar d-flex flex-column justify-content-center"> 
277						 						<span class="card-day">${giorno_mese[0]}</span> 
278						 						<span class="card-month">${giorno_mese[1]}</span> 
279						 					</span> 
280										</#if> 
281										<#-- immagine --> 
282										<#if validator.isNotNull(image) && image != ""> 
283											<#attempt> 
284												<img src="${image}" class="card-img-top" alt="${escapeExtraChar(title)}"> 
285											<#recover> 
286												<#-- non viene visualizzato nulla --> 
287											</#attempt>	 
288										</#if>	 
289									</div> 
290								</#if> 
291								<div class="card-body"> 
292									<#-- tipo di contenuto, e data --> 
293									<div class="category-top"> 
294										<svg class="icon"> 
295											<use xlink:href="/o/comuni-theme/svg/sprite.svg#it-calendar"></use> 
296										</svg> 
297										<#-- data la pagina dell'elenco, ne ricavo la regular url --> 
298										<#if paginaElencoUrl!= "">						 
299											<a class="category" href="${paginaElencoUrl}" title="${label_vai_alla_pagina} ${escapeExtraChar(pagineElencoNome)}">${pagineElencoNome}</a> 
300										<#else>	 
301											<span>${pagineElencoNome}</span>												 
302										</#if> 
303										<#-- parso la data e la formatto, solo se non Evento --> 
304										<#if journalArticleStructure != "Evento">										 
305											<#if validator.isNotNull(date)> 
306												<#assign date_DateObj = dateUtil.parseDate("yyyy-MM-dd", date, locale) /> 
307												<#assign date = dateUtil.getDate(date_DateObj, "dd MMMM yyyy", locale) /> 
308											</#if> 
309											<#if validator.isNotNull(date) && date != ""> 
310							 					<span class="data">${date}</span> 
311											</#if> 
312										</#if> 
313									</div> 
314									<#-- titolo principale --> 
315									<#if validator.isNotNull(title) && title != ""> 
316										<h2 class="h2 card-title"> 
317											<a href="${viewUrl}" title="${labelLeggi} ${escapeExtraChar(title)}">${title}</a> 
318										</h2> 
319									</#if> 
320									<#-- abstract --> 
321									<#if validator.isNotNull(abstract) && abstract != ""> 
322										<p class="card-text">${abstract}</p> 
323									</#if>	 
324									<#-- categorie, se area tematica(argomento) ricavo il link alla relativa pagina --> 
325									<#if categorie?? && (categorie?size > 0)>	 
326										<#list categorie as cur_cat> 
327											<#if validator.isNotNull(cur_cat) && cur_cat != ""> 
328												<div class="chip chip-simple chip-primary no-link"> 
329													<span class="chip-label">${cur_cat.getName()}</span> 
330												</div> 
331											</#if> 
332										</#list> 
333									</#if> 
334								</div> 
335							</div>								 
336						</div> 
337			    	</#if> 
338			    </#list> 
339			</div> 
340		</div> 
341	</section> 
342</#if>