an-error-occurred-while-processing-the-template
The following has evaluated to null or missing:
==> booleanField.getValue().getString(locale)  [in template "20116#20152#60219489" at line 84, column 40]

----
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: #assign mostrarHome = booleanField.ge...  [in template "20116#20152#60219489" at line 84, column 17]
----
1<#setting time_zone="Europe/Madrid"> 
2<#setting date_format="yyyy-MM-dd HH:mm"> 
3<#setting locale="es_ES"> 
4<#assign actualDate =.now?date?iso_utc> 
5<#assign datenow = .now?date?iso_utc +" "+ .now?time?iso_local_nz> 
6<#assign dStrange = datenow?datetime("yyyy-MM-dd HH:mm")?date>  
7 
8<#assign currentGroupId = themeDisplay.getScopeGroupId()> 
9<#assign cookieMunicipalityNameKey = "LR_MUNICIPIO_NOMBRE_" + currentGroupId> 
10<#assign cookieOneMunicipality = "LR_ONLY_ONE_MUNICIPIO_" + currentGroupId> 
11<#assign CookieKeys = staticUtil["com.liferay.portal.kernel.util.CookieKeys"]> 
12<#assign HttpUtil = staticUtil["com.liferay.portal.kernel.util.HttpComponentsUtil"]> 
13<#assign cookieMunicipalityNameValue = HttpUtil.decodeURL(CookieKeys.getCookie(request, cookieMunicipalityNameKey))!""> 
14<#assign cookieOneMunicipalityValue = HttpUtil.decodeURL(CookieKeys.getCookie(request, cookieOneMunicipality))!""> 
15 
16<#function escapeId text> 
17    <#assign id = text?replace('^[^a-z]', '', 'ri')> 
18    <#assign id = id?replace('[^a-z|0-9|_]', '-', 'ri')> 
19    <#return id> 
20</#function> 
21<#function getTime dateField> 
22    <#assign time = "00:00"/> 
23    <#attempt> 
24        <#list dateField.getNestedDDMFormFieldValues() as field> 
25            <#if field.name?starts_with("hora")> 
26                <#assign time = field.value.getString(locale)/> 
27            </#if> 
28        </#list> 
29    <#recover> 
30        <#assign time = "00:00"/> 
31    </#attempt> 
32    <#return time/> 
33</#function> 
34<#function normalizeDate field renderer> 
35	<#assign date_Data = getterUtil.getString(field.getValue().getString(locale))> 
36		<#if date_Data == '' || date_Data?contains("HH:MM") > 
37			<#assign displayDate = renderer.getDisplayDate()> 
38		<#else> 
39			<#attempt> 
40				<#if getTime(field)?has_content && getTime(field)!= ""> 
41					<#if getTime(field) == "HH:MM"> 
42						<#assign displayDate = dateUtil.parseDate("yyyy-MM-dd HH:mm", date_Data + " " + "00:00" , locale)> 
43					<#else> 
44						<#assign displayDate = dateUtil.parseDate("yyyy-MM-dd HH:mm", date_Data + " " + getTime(field)?replace(".",":") , locale)> 
45					</#if> 
46				<#else> 
47					<#assign displayDate = dateUtil.parseDate("yyyy-MM-dd HH:mm", date_Data + " " + "00:00" , locale)> 
48				</#if> 
49			<#recover> 
50				<#assign displayDate = renderer.getDisplayDate()> 
51			</#attempt> 
52		</#if> 
53    <#return displayDate/> 
54</#function> 
55<#function normalizeDateNZ field renderer hour> 
56    <#assign date_Data = getterUtil.getString(field.getValue().getString(locale))> 
57    <#attempt> 
58        <#assign displayDate = dateUtil.parseDate("yyyy-MM-dd HH:mm", date_Data + " " + hour, locale)> 
59    <#recover> 
60        <#assign displayDate = renderer.getDisplayDate()> 
61    </#attempt> 
62    <#return displayDate/> 
63</#function> 
64<#function getDay date renderer> 
65    <#attempt> 
66        <#assign displayDate = dateUtil.parseDate("yyyy-MM-dd", date, locale)?date> 
67    <#recover> 
68        <#assign displayDate = renderer.getDisplayDate()?date> 
69    </#attempt> 
70    <#return dateUtil.getDate(displayDate, "dd MMM", locale)/> 
71</#function> 
72<#if entries?has_content> 
73    <#assign currentAlerts = []/> 
74    <#list entries as curEntry> 
75		<#assign assetRenderer = curEntry.getAssetRenderer() 
76            ddmFormValuesReader = assetRenderer.getDDMFormValuesReader() 
77            booleanFields = ddmFormValuesReader.getDDMFormFieldValues('checkbox') 
78            dateFields = ddmFormValuesReader.getDDMFormFieldValues('ddm-date')  
79			categoryList = curEntry.getCategories() 
80			/> 
81			 
82        <#list booleanFields as booleanField> 
83            <#if booleanField.name == 'mostrarHome'> 
84                <#assign mostrarHome = booleanField.getValue().getString(locale)> 
85            </#if> 
86        </#list> 
87		 
88 
89        <#list dateFields as dateField> 
90            <#if dateField?has_content && assetRenderer?has_content> 
91                <#if dateField.name == 'FechaInicioMostrar'> 
92                    <#assign initShowDate = normalizeDate(dateField, assetRenderer) /> 
93                    <#assign initShowTime = dateUtil.getDate(initShowDate, "yyyy-MM-dd HH:mm", locale, time_zone)/> 
94                </#if> 
95    			<#if dateField.name == 'FechaInicioAviso'> 
96                    <#assign initDate = normalizeDate(dateField, assetRenderer) /> 
97                </#if> 
98                <#if dateField.name == 'FechaFinAviso'> 
99                    <#assign endDate = normalizeDate(dateField, assetRenderer) /> 
100    				<#assign endShowTime = dateUtil.getDate(endDate, "yyyy-MM-dd HH:mm", locale, time_zone)/> 
101                </#if>   
102            </#if>  
103        </#list> 
104	    		 
105		<#if categoryList?size != 0> 
106			<#list categoryList as category> 
107				<#if category.getName() == cookieMunicipalityNameValue> 
108					<#if (initShowDate?? && dStrange >= initShowTime?date)  &&  (dStrange <= endShowTime?date ) && (mostrarHome == 'true')> 
109						<#assign currentAlerts = currentAlerts + [curEntry] /> 
110					</#if> 
111					<#break> 
112				</#if>	 
113			</#list> 
114		<#else> 
115			<#if cookieMunicipalityNameValue?has_content && cookieOneMunicipalityValue != 'true'> 
116			<#else> 
117				<#if (initShowDate?? && dStrange >= initShowTime?date)  &&  (dStrange <= endShowTime?date ) && (mostrarHome == 'true')> 
118					<#assign currentAlerts = currentAlerts + [curEntry] /> 
119				</#if> 
120			</#if> 
121		</#if> 
122    </#list> 
123 
124 
125    <#if currentAlerts?has_content> 
126        <div class="wrapper-aviso"> 
127            <div class="container"> 
128 
129                <#list currentAlerts as alert> 
130                    <#assign 
131                        assetRenderer = alert.getAssetRenderer() 
132                        ddmFormValuesReader = assetRenderer.getDDMFormValuesReader() 
133                        textFields = ddmFormValuesReader.getDDMFormFieldValues('text') 
134                        dateFields = ddmFormValuesReader.getDDMFormFieldValues('ddm-date') 
135                        titulo = "" 
136                        fecha = "" 
137                        contenido = "" 
138						 
139						 
140                    /> 
141                    <#assign titulo = alert.getTitle(locale) /> 
142                    <#list textFields as textField> 
143                        <#if textField.name == 'Entradilla'> 
144                            <#assign contenido = textField.getValue().getString(locale) /> 
145                        </#if> 
146                    </#list> 
147															 
148 
149								 
150					                     
151                    <#list dateFields as dateField> 
152						<#if dateField??> 
153							<#if dateField.name == 'FechaInicioMostrar'> 
154								<#assign displayShowDate = normalizeDate(dateField, assetRenderer)/>  
155							</#if> 
156							<#if dateField.name == 'FechaInicioAviso'> 
157								<#assign startDate = normalizeDate(dateField, assetRenderer)/>  
158								<#assign startDateDay = dateUtil.getDate(startDate, "yyyy-MM-dd HH:mm", locale, time_zone)/> 
159								<#assign startDateTime = dateUtil.getDate(startDate, "HH:mm", locale, time_zone)/>								 
160							</#if> 
161							<#if dateField.name == 'FechaFinAviso'> 
162								<#assign finalDate = normalizeDate(dateField, assetRenderer)>    
163								<#assign finalDateDay = dateUtil.getDate(finalDate, "yyyy-MM-dd HH:mm", locale, time_zone)/> 
164								<#assign finalDateTime = dateUtil.getDate(finalDate, "HH:mm", locale, time_zone)/> 
165							</#if>   
166						</#if>  						 
167                    </#list> 
168                  
169                    <#if alert?counter == 1> 
170                        <div class="row"> 
171                    <#else> 
172                        <div class="row collapse"> 
173                    </#if> 
174                        <div class="aviso"> 
175                            <div class="fecha-aviso col-sm-2 col-sm-offset-1">  
176								<span class="dia-mes-aviso">${getDay(startDateDay, assetRenderer)} - ${getDay(finalDateDay, assetRenderer)}</span> 
177								<span class="dia-semana">${startDateTime} - ${finalDateTime}</span> 
178                            </div> 
179							<#if (startDateDay?date >= dStrange)> 
180								<div class="detalle-aviso col-sm-6"><p><a href="/avisos?tab2#${escapeId(titulo)}">${titulo}</a> </p>${contenido}</div> 
181							<#else> 
182								<div class="detalle-aviso col-sm-6"><p><a href="/avisos?tab1#${escapeId(titulo)}">${titulo}</a> </p>${contenido}</div> 
183							</#if> 
184                            <div class="pagination-aviso col-sm-3"> 
185                                <span class="prev-aviso glyphicon glyphicon-chevron-left" role="button"></span><span class="">${alert?counter}/${currentAlerts?size}</span><span class="next-aviso glyphicon glyphicon-chevron-right" role="button"></span> 
186                            </div> 
187                        </div>             
188                    </div> 
189                </#list> 
190            </div> 
191        </div> 
192        <script type="text/javascript"> 
193			$(function() { 
194			  $('nav a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active'); 
195			}); 
196		 
197            $(document).ready(function (){ 
198                var animDuration = 400; 
199                $('.next-aviso').on('click', function (event) { 
200                    //$(this).closest('.row').addClass('hidden'); 
201                    $(this).closest('.row').fadeTo(animDuration, 0); 
202                    $(this).closest('.row').addClass('hidden');             
203                    if ($(this).closest('.row').next().length == 0) { 
204                        $($(this).closest('.row').siblings()[0]).removeClass('hidden'); 
205                        $($(this).closest('.row').siblings()[0]).fadeTo(animDuration, 1); 
206                    } else { 
207                        $(this).closest('.row').next().removeClass('hidden'); 
208                        $(this).closest('.row').next().fadeTo(animDuration, 1); 
209
210                }); 
211                $('.prev-aviso').on('click', function (event) { 
212         
213                    $(this).closest('.row').fadeTo(animDuration, 0); 
214                    $(this).closest('.row').addClass('hidden'); 
215                    if ($(this).closest('.row').prev().length == 0) { 
216                        $($(this).closest('.row').siblings()[$(this).closest('.row').siblings().length - 1]).removeClass('hidden'); 
217                        $($(this).closest('.row').siblings()[$(this).closest('.row').siblings().length - 1]).fadeTo(animDuration, 1); 
218                    } else { 
219                        $(this).closest('.row').prev().removeClass('hidden'); 
220                        $(this).closest('.row').prev().fadeTo(animDuration, 1); 
221
222                });         
223            }); 
224         
225        </script> 
226    </#if> 
227</#if> 

Tu agua, más cerca: calidad, seguridad y compromiso con las personas y el medio ambiente

Comprometidos

Por un mundo sostenible

compost

Gestión sostenible

Velamos por el medio ambiente y los recursos naturales para acelerar la transformación ecológica y lograr un futuro más sostenible

saber-mas

handshake

Implicación social

Trabajamos al servicio de la sociedad y enfocados en las personas, apostando por la inclusión y la diversidad

saber-mas

emoji_objects

Innovación y digitalización

La innovación es el motor que nos mueve en la búsqueda de nuevas soluciones para cuidar de los recursos y las personas

saber-mas

Descubre más sobre Aigües de Cullera…

Fundación Aquae

Fundación Aquae está comprometida con el impulso de la educación, el apoyo a la sostenibilidad y la difusión del conocimiento

Desarrollo Sostenible

Todas y cada una de las acciones que realizamos tienen un impacto en el medio ambiente y en el día a día de cada una de las personas a las que servimos. Por eso trabajamos para que nuestro compromiso con el Desarrollo Sostenible crezca año tras año

Fondo social y tarifas sociales

Ayudamos a las personas que más lo necesitan para hacer frente al pago de la factura del agua