Torna su
Logo Comune di Carmiano

Comune di Carmiano

Elenco servizi - Comune di Carmiano

Servizi

Tutti i servizi comunali per i cittadini, disponibili online o a sportello, per richiedere documenti e permessi, iscriversi a graduatorie ed effettuare pagamenti.

Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> ricerca_components["ricerca-pagination"]  [in template "281621#281649#297105" at line 181, column 63]

----
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: @ricerca_components["ricerca-paginati...  [in template "281621#281649#297105" at line 181, column 61]
----
1<#-- instance id --> 
2<#assign instanceId = themeDisplay.getPortletDisplay().getId()?keep_after("INSTANCE_") /> 
3 
4<#-- Ricavo servizi utili in seguito --> 
5<#-- Servizio per i layout di pagina --> 
6<#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") /> 
7<#-- Servizio utile per ricavare i documenti della DM --> 
8<#assign dlFileEntryLocalService = serviceLocator.findService('com.liferay.document.library.kernel.service.DLFileEntryLocalService') /> 
9 
10<#-- Etichette --> 
11<#assign label_elenco = languageUtil.get(locale, "label_elenco") /> 
12<#assign label_leggi_piu = languageUtil.get(locale, "label_leggi_piu") /> 
13<#assign label_ordinamento = languageUtil.get(locale, "label_ordinamento") /> 
14<#assign label_numero_risultati = languageUtil.get(locale, "label_numero_risultati") /> 
15<#assign label_ricerca_testo = languageUtil.get(locale, "label_ricerca_testo") /> 
16<#assign label_placeholder_ricerca_testo = languageUtil.get(locale, "label_placeholder_ricerca_testo") /> 
17<#assign label_filtra = languageUtil.get(locale, "label_filtra") /> 
18<#assign label_categorie = languageUtil.get(locale, "label_categorie") /> 
19<#assign label_categorie_tutte = languageUtil.get(locale, "label_categorie_tutte") /> 
20<#assign label_button_cerca = languageUtil.get(locale, "label_button_cerca") /> 
21<#assign label_dal = languageUtil.get(locale, "label_dal") /> 
22<#assign label_al = languageUtil.get(locale, "label_al") /> 
23<#assign argumentsCategoryIds = [294358,294361,294364,294367,294370,294373,294376,294379,294382,294385,294388,294391,294394,294397,294400,294403,294406,294409,294412,294415,294418,294421,294424,294427,294430,294433,294436,294439,294442,294445,294448,294451,294454,294457,294460,294463,294466,294469,294472,294475,294481,294484,294487,294490,294493,294496,294499,294502,294505,294508,294511,294514,294517,294520,294523,294526,294529,294532,294535,294538,294541,357541] /> 
24 
25<#-- Inclusione widget template con macros e relativi servizi --> 
26<#include "${templatesPath}/RICERCA_COMMON_MACROS" /> 
27 
28<#-- html --> 
29<div class="col-12 mt-5"> 
30	<div class="search-template search-template-servizi"> 
31		<div class="container"> 
32			 
33			<div class="row"> 
34				<div class="col-12"> 
35					<h2 class="mb-4">${themeDisplay.getLayout().getName(locale)}</h2> 
36				</div> 
37			</div> 
38		 
39			<div class="row"> 
40				<#if entries?has_content> 
41				    <#list entries as curEntry> 
42				    	<#-- colonna elenco risultati --> 
43				        <div class="order-last order-sm-last order-md-last order-lg-first col-lg-9"> 
44				        	 
45				        	<#-- barra ordinamento --> 
46				        	<div class="row"> 
47				        		<div class="col-12"> 
48				        			<div class="d-flex justify-content-between align-items-center"> 
49				        				<div></div> 
50							        	<#-- ordinamento: ricordarsi del campo hidden che deve stare nel form --> 
51										<div class="form-group"> 
52											<label for="orderBySelect" class="sr-only">${label_ordinamento}</label> 
53								        	<select class="form-control form-control-orderBy" id="orderBySelect" name="orderBySelect" onchange="changeOrder(this);"> 
54								        		<#list enabledSortFieldsAsKeyValue?keys as prop> 
55								        			<#assign isSelected = "" /> 
56								        			<#if searchInput.orderBy?has_content> 
57									        			<#if searchInput.orderBy?string == prop> 
58										        			<#assign isSelected = "selected" /> 
59									        			</#if> 
60								        			</#if> 
61								        			<option value="${prop}" ${isSelected}>${enabledSortFieldsAsKeyValue[prop]}</option> 
62												</#list>  
63								        	</select> 
64										</div> 
65				        			</div> 
66				        		</div> 
67				        	</div> 
68				        	 
69				        	<#-- numero risultati --> 
70				        	<div class="row"> 
71				        		<div class="col-12"> 
72						        	<p class="text-right">${label_numero_risultati}: <strong>${curEntry.paging.totalRecordsCount}</strong></p> 
73				        		</div> 
74				        	</div> 
75				         
76				        	<#-- elenco risultati --> 
77				        	<#if curEntry.records?has_content> 
78				        		<div class="row"> 
79			                    	<#list curEntry.records as record> 
80			                    		<#if record.metadata?has_content> 
81											<div class="col-12 col-lg-6"> 
82					                    		<#-- start card --> 
83												<article class="card-wrapper card-space"> 
84													<div class="card card-bg card-img rounded shadow"> 
85					                    			 
86						                    			<#-- immagine principale --> 
87														<#if record.metadata.image?has_content && record.metadata.image.value?has_content> 
88						                    				<#attempt> 
89										                    	<#assign imageJson = jsonFactoryUtil.createJSONObject(record.metadata.image.value) /> 
90										                    	<#if imageJson?? && imageJson?has_content && imageJson.uuid?? && imageJson.groupId??> 
91																	<#assign imageDLFileEntry = dlFileEntryLocalService.getFileEntryByUuidAndGroupId(imageJson.uuid,imageJson.groupId?number) /> 
92																	<#assign imageUrl = "/documents/"+groupId+"/"+imageDLFileEntry.getFolderId()+"/"+imageDLFileEntry.getFileName()+"/"+imageJson.uuid /> 
93																	 
94																	<div class="img-responsive-wrapper"> 
95																		<div class="img-responsive img-responsive-panoramic"> 
96																			<figure class="img-wrapper"> 
97												                    			<img src="${imageUrl}" alt="${htmlUtil.escapeAttribute(record.metadata.title.value)}"> 
98												                    		</figure> 
99												                    	</div> 
100								                    				</div> 
101								                    			</#if> 
102						                    				<#recover> 
103						                    					<#-- in caso di problemi sull'immagine, non visualizzo nulla --> 
104						                    				</#attempt> 
105						                    			</#if> 
106						                    			 
107						                    			<div class="card-body p-4"> 
108						                    				<#-- categoria --> 
109															<div class="category-top"> 
110																<svg class="icon icon-sm"> 
111																	<use href="/o/portale-istituzionale-theme/svg/sprite.svg#it-pa"></use> 
112																</svg> 
113																<span class="category">${record.structureName}</span> 
114															</div> 
115						                    			 
116						                    				<#-- titolo di struttura --> 
117															<#if record.metadata.title?has_content && record.metadata.title.value?has_content> 
118								                    			<#if record.detailUrl?has_content> 
119								                    				<h3 class="card-title check-highlight mb-2"> 
120																		<a href="${record.detailUrl}" title="${label_leggi_piu}: ${htmlUtil.escapeAttribute(record.metadata.title.value)}">${record.metadata.title.value}</a> 
121																	</h3> 
122																<#else> 
123									                    			<h3 class="card-title check-highlight mb-2"> 
124																		${record.metadata.title.value?trim} 
125																	</h3>											 
126																</#if> 
127							                    			</#if> 
128							                    			 
129							                    			<#-- abstract --> 
130							                    			<#if record.metadata.abstract?has_content && record.metadata.abstract.value?has_content> 
131																<div class="card-text check-highlight mb-2">${record.metadata.abstract.value}</div> 
132															</#if> 
133						                    				 
134						                    				<#-- metodo tramite record (ricerca) --> 
135						                    				<#-- recupero l'elenco delle categorie dall'oggetto record anzichè passando dall'articolo --> 
136						                    				<#if record.categories?? && (record.categories?size > 0)> 
137						                    					<#list record.categories as key, value> 
138																	<#if (key?? && key != 0 && !(argumentsCategoryIds?seq_contains(key))) && (value?? && value != "" && value?substring(0,1) != PREFIX_SERVICE_CATEGORY)> 
139																		<div class="chip chip-simple chip-primary chip-no-link"> 
140																			<span class="chip-label">${value}</span> 
141																		</div> 
142																	</#if> 
143																</#list> 
144						                    				</#if> 
145						                    				 
146 
147						                    <#-- categorie: metodo tramite api - COMMENTATO --> 
148						                    				<#-- 
149															<#assign categorie = []> 
150															<#assign categorie = getListCategoryByArticlePrimKey(record.entryClassPk) /> 
151															<#if categorie?? && (categorie?size > 0)>	 
152																<#list categorie as cur_cat> 
153																	<#if validator.isNotNull(cur_cat) && cur_cat != ""> 
154																		<div class="chip chip-simple chip-primary chip-no-link"> 
155																			<span class="chip-label">${cur_cat.getTitle(locale)}</span> 
156																		</div> 
157																	</#if> 
158																</#list> 
159															</#if> 
160						                    				 
161						                    				<#-- read-more link --> 
162							                    			<a class="read-more" href="${record.detailUrl}" data-element="service-link" title="${label_leggi_piu}: ${htmlUtil.escapeAttribute(record.metadata.title.value)}"> 
163																<span class="text">${label_leggi_piu}</span> 
164																<svg class="icon"> 
165																	<use xlink:href="/o/portale-istituzionale-theme/svg/sprite.svg#it-arrow-right"></use> 
166																</svg> 
167															</a> 
168															 
169						                    			</div> 
170						                    		</div> 
171					                    		</article> 
172		                    				</div> 
173				                    	</#if> 
174			                    	</#list> 
175				        		</div> 
176		                    </#if> 
177		                     
178		                    <#-- paginazione mediante taglib--> 
179		                    <div class="row"> 
180		                    	<div class="col-12 text-center"> 
181						            <@ricerca_components["ricerca-pagination"] 
182						                currentPage=curEntry.paging.page?number 
183						                totalPages=curEntry.paging.totalPagesCount?number 
184						                paginationUrl="${portletURL}"></@> 
185		                    	</div> 
186					        </div> 
187				        </div> 
188				         
189				        <#-- colonna form ricerca: dopo breakpoint lg viene visualizzata come prima colonna --> 
190				        <div class="order-first order-sm-first corder-md-first order-lg-last col-lg-3"> 
191				        	 
192				        	<#-- form ricerca --> 
193				        	<@ricerca_components["ricerca-form"] searchUrl="${searchUrl}" method="get" id="search-servizi-form"> 
194				        	 
195				        		<#-- campo hidden per ordinamento --> 
196								<input type="hidden" value="${searchInput.orderBy}" name="orderBy" id="orderByInputHidden"> 
197								 
198								<#-- campo di ricerca testuale -->					        		 
199				        		<div class="form-group"> 
200				                    <label for="input-ricerca-q" class="sr-only">${label_ricerca_testo}</label> 
201				                    <@ricerca_components["ricerca-input-q"] cssClass="form-control form-control-search-rounded-input"  
202										value="${searchInput.q}" 
203										placeholder="${label_placeholder_ricerca_testo}"> 
204				                    </@> 
205				                </div> 
206				                 
207				                <#-- inizio collapse che racchiude tutti i filtri: poichè ci sono solo categorie, il controllo è unico a monte di tutto --> 
208				                <#-- leggo valore impostato a livello di configurazione sulla ricerca per categorie --> 
209				                <#if (ricercaPortletConfig.configSearchByCategories == true) && (categoriesAsKeyValue?size > 0)> 
210				                	<a class="simple-collapse-button" data-toggle="collapse" href="#searchFilters" role="button" aria-expanded="true" aria-controls="searchFilters"> 
211				                		<strong>${label_filtra}</strong> 
212				                	</a> 
213				                	<div class="collapse show" id="searchFilters"> 
214	 
215					                	<#-- ricerca per categorie --> 
216						                <div class="form-group"> 
217						                    <#if ricercaPortletConfig.configSelectMultipleCategories == true> 
218						                    	 
219												<#-- caso di elenco di categorie e sottocategorie indentate con nome vocabolario - sfrutta macro presente nel template RICERCA_COMMON_MACROS --> 
220												<#if ricercaPortletConfig.configAllowVocabulariesLabelFilter == true> 
221													<strong>${label_categorie}</strong> 
222						                    		<ul class="list-unstyled ml-2"> 
223														<#list hierarchicalVocabulariesOptions as voKey, voValue> 
224															<li> 
225																<strong>${voValue.value.label}</strong> 
226																<@getAllCategories voValue.children /> 
227															</li> 
228														</#list> 
229													</ul> 
230						                    	<#else> 
231						                    		<#-- caso di elenco categorie e sottocategorie indentate ma senza nome vacabolario - sfrutta macro presente nel template RICERCA_COMMON_MACROS --> 
232													<#if hierarchicalCategoriesOptions?? && hierarchicalCategoriesOptions?has_content> 
233														<strong>${label_categorie}</strong> 
234													 	<@getAllCategories hierarchicalCategoriesOptions /> 
235													</#if> 
236						                    	</#if> 
237											<#else> 
238												<#-- visualizzo una select singola --> 
239												<label for="select-ricerca-categorie">${label_categorie}</label> 
240							                    <select name="categoryIds" class="form-control" id="select-ricerca-categorie"> 
241							                        <#list categoriesAsKeyValue?keys as prop> 
242							                        	<#assign isSelected = "" /> 
243							                        	<#if searchInput.categoryIds?has_content> 
244															<#list searchInput.categoryIds as categoryId> 
245																<#if categoryId?string == prop> 
246																	<#assign isSelected = "selected" /> 
247																</#if> 
248															</#list> 
249														</#if> 
250							                            <option value="${prop}" ${isSelected}>${categoriesAsKeyValue[prop]}</option> 
251							                        </#list>   
252							                    </select> 
253											</#if> 
254						                </div> 
255									</div> 
256				                </#if> 
257				                 
258				        		<#-- pulsante di ricerca --> 
259				        		<div class="row"> 
260				        			<div class="col-12 text-center mt-4 mb-4"> 
261				        				<button type="submit" class="btn btn-primary btn-block">${label_button_cerca}</button> 
262				        			</div> 
263				        		</div> 
264							</@> 
265				        </div> 
266					</#list> 
267				</#if> 
268			</div> 
269				 
270		</div> 
271	</div> 
272</div> 
273 
274<script> 
275	// funzione per cambiare ordinamento sull'onchange 
276	function changeOrder(elem){ 
277		$("#orderByInputHidden").val($(elem).val()); 
278		$("#search-servizi-form").submit(); 
279
280</script> 

Esplora per categoria

Agricoltura e pesca

Pesca, politiche agricole, politiche alimentari
Leggi di più

Ambiente

Rifiuti, verde urbano, incendi
Leggi di più

Anagrafe e stato civile

Residenza, matrimonio, nascita, morte, espatrio, elezioni
Leggi di più

Appalti pubblici

Gare nazionali/estere, bandi
Leggi di più

Autorizzazioni

Permessi, licenze, finanziamenti
Leggi di più

Cultura e tempo libero

Luoghi della cultura, impianti sportivi
Leggi di più

Imprese e commercio

Impresa nazionale/estera, notifiche, bancarotta, risorse umane
Leggi di più

Mobilità e trasporti

Parcheggi, automobile, patente, trasporto pubblico
Leggi di più

Salute, benessere e assistenza

Animali, invalidità, esami sanitari, anziani
Leggi di più

Tributi, finanze e contravvenzioni

Dichiarazione redditi, contributi, contravvenzioni
Leggi di più

Turismo

Viaggi, passaporto, visto
Leggi di più

Vita lavorativa

Lavoro, disoccupazione, pensione
Leggi di più

Quanto sono chiare le informazioni su questa pagina?

Grazie, il tuo parere ci aiuterà a migliorare il servizio!
Contatti

Comune di Carmiano
Provincia di Lecce
Piazza Assunta, 2 73041
Carmiano (LE)

Telefono: 0832 600001

Posta Elettronica Certificata:
protocollo.comunecarmiano@pec.rupar.puglia.it