Water supply cut-off notices

Information about interruptions to the drinking water supply are set out below. When possible, 24-hour notice will be given for any foreseeable maintenance work on our distribution network.

This listing does not include interruptions to the water supply caused by unexpected incidents.

Thank you for your patience and we apologise for any inconvenience this may cause.

An error occurred while processing the template.
The string doesn't match the expected date/time/date-time format. The string to parse was: " HH:MM". The expected format was: "yyyy-MM-dd HH:mm".
The nested reason given follows:
Unparseable date: " HH:MM"

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign initDate = initDate?datetime(...  [in template "20116#20152#58037" at line 177, column 16]
----
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 dateTimeNow = datenow?datetime("yyyy-MM-dd HH:mm")?date>  
7 
8<#function escapeId text> 
9    <#assign id = text?replace('^[^a-z]', '', 'ri')> 
10    <#assign id = id?replace('[^a-z|0-9|_]', '-', 'ri')> 
11    <#return id> 
12</#function> 
13<#function getDay date renderer> 
14    <#attempt> 
15        <#assign displayDate = dateUtil.parseDate("yyyy-MM-dd", date, locale)?date> 
16    <#recover> 
17        <#assign displayDate = renderer.getCreateDate()?date> 
18    </#attempt> 
19    <#return dateUtil.getDate(displayDate, "dd MMM", locale)/> 
20</#function> 
21 
22<#function getTime textTime> 
23    <#assign time = "00:00"/> 
24    <#attempt> 
25        <#assign time = textTime/> 
26    <#recover> 
27        <#assign time = "00:00"/> 
28    </#attempt> 
29    <#return time/> 
30</#function> 
31 
32<#function normalizeDate field textTime renderer> 
33    <#assign date_Data = getterUtil.getString(field.getValue().getString(locale))> 
34    <#attempt> 
35        <#assign displayDate = dateUtil.parseDate("yyyy-MM-dd", date_Data + " " + getTime(textTime), locale)?datetime.iso("Europe/Madrid")> 
36    <#recover> 
37        <#assign displayDate = renderer.getCreateDate()?date> 
38    </#attempt> 
39    <#return displayDate/> 
40</#function> 
41 
42<#macro pintarAviso entry id> 
43    <#assign 
44        assetRenderer = entry.getAssetRenderer() 
45        ddmFormValuesReader = assetRenderer.getDDMFormValuesReader() 
46        textFields = ddmFormValuesReader.getDDMFormFieldValues('text') 
47        htmlFields = ddmFormValuesReader.getDDMFormFieldValues('rich_text') 
48        dateFields = ddmFormValuesReader.getDDMFormFieldValues('date') 
49        titulo = "" 
50        fecha = "" 
51		fechaFin = "" 
52        entradilla = "" 
53        descripcion = "" 
54        zonas = "" 
55		initTime= "" 
56		endTime= "" 
57		 
58    /> 
59    <#assign titulo = entry.getTitle(locale) /> 
60    <#list htmlFields as htmlField> 
61        <#if htmlField.name == 'ContenidoDeAviso'> 
62            <#assign descripcion = htmlField.getValue().getString(locale) /> 
63        </#if> 
64        <#if htmlField.name == 'Zonas'> 
65            <#assign zonas = htmlField.getValue().getString(locale) /> 
66        </#if>                                 
67    </#list>                                 
68    <#list textFields as textField> 
69        <#if textField.name == 'Entradilla'> 
70					<#if textField.getValue().getString(locale)?has_content && textField.getValue().getString(locale)??> 
71            <#assign entradilla = textField.getValue().getString(locale) /> 
72          </#if> 
73        </#if> 
74		<#if textField.name == 'horaInicio'> 
75            <#assign initTime = getTime(textField.getValue().getString(locale)) /> 
76        </#if> 
77		<#if textField.name == 'horaFin'> 
78            <#assign endTime =getTime(textField.getValue().getString(locale)) /> 
79        </#if> 
80    </#list> 
81    <#list dateFields as dateField> 
82        <#if dateField.name == 'FechaInicioAviso'> 
83            <#assign fecha = dateField.getValue().getString(locale) /> 
84        </#if> 
85        <#if dateField.name == 'FechaFinAviso'> 
86            <#assign fechaFin = dateField.getValue().getString(locale) /> 
87        </#if>    		 
88    </#list> 
89	 
90    <div class="aviso"> 
91        <div class="icono-aviso col-sm-2 col-md-1"> 
92            <span class="icon-aviso"></span> 
93        </div> 
94        <div class="fecha-aviso col-sm-3 col-md-2"> 
95            <span class="dia">${getDay(fecha, entry)} - ${getDay(fechaFin, entry)}</span> 
96            <span class="hora">${initTime} - ${endTime}</span> 
97        </div> 
98        <div class="descripcion-aviso col-sm-7 col-md-9"> 
99            <a href="#" title="#" data-target="#detalleAviso${id}" id="${escapeId(titulo)}" data-toggle="modal" >${titulo}</a> 
100            <span class="municipios">${entradilla}</span> 
101            <!--Aqui iría el detalle de aviso en plan emergente--> 
102            <@pintarDetalleAviso titulo=titulo entradilla=entradilla fecha=fecha fechaFin=fechaFin descripcion=descripcion zonas=zonas id=id/> 
103        </div> 
104    </div> 
105</#macro> 
106<#macro pintarDetalleAviso titulo entradilla fecha fechaFin descripcion zonas id> 
107<div aria-labelledby="detalleAviso${id}Label" class="fade modal detalleAviso" id="detalleAviso${id}" role="dialog" tabindex="-1"> 
108    <div class="modal-dialog modal-full-screen"> 
109        <div class="modal-content"> 
110            <div class="modal-header"> 
111                <button aria-labelledby="Close" class="btn btn-default close" data-dismiss="modal" role="button" type="button" title="Cerrar"/> 
112            </div> 
113            <div class="modal-body modal-body-no-footer"> 
114                <div class="generic-content"> 
115                     
116                    <article class="detalle-aviso"> 
117                 
118                            <header> 
119                            <div class="container"> 
120                                <div class="row"> 
121                                    <div class="content-header"> 
122                                        <span class="icon-aviso"></span> 
123                                        <h1>${titulo}</h1> 
124                                        <summary> 
125                                            <span class="horario">${fecha} - ${fechaFin}</span> 
126                                            <#if zonas!= ""> 
127                                            <span class="zonas">${zonas}</span> 
128                                            </#if> 
129                                        </summary> 
130                                    </div> 
131                                </div> 
132                            </div> 
133                        </header>  
134                 
135                        <section class="container-generic-content"> 
136                            <div class="container"> 
137                                <div class="row"> 
138                                    <div class="col-md-8 col-md-offset-2"> 
139                                        ${descripcion}										 
140                                    </div> 
141                                </div> 
142                            </div> 
143                        </section> 
144                 
145                    </article> 
146                </div><!-- .generic-content --> 
147            </div><!-- modal-body --> 
148        </div> 
149    </div> 
150</div> 
151</#macro> 
152 
153<#assign currentAlerts = []> 
154<#assign plannedAlerts = []> 
155<#assign pastAlerts = []> 
156 
157<#if entries?has_content> 
158    <#list entries as curEntry> 
159        <#assign assetRenderer = curEntry.getAssetRenderer() 
160            ddmFormValuesReader = assetRenderer.getDDMFormValuesReader() 
161			textFields = ddmFormValuesReader.getDDMFormFieldValues('text') 
162            dateFields = ddmFormValuesReader.getDDMFormFieldValues('date') 
163			textInitTime="" 
164			textEndTime=""/> 
165		<#list textFields as textField> 
166			<#if textField.name == 'horaInicio'> 
167				<#assign textInitTime =textField.getValue().getString(locale) /> 
168			</#if> 
169			<#if textField.name == 'horaFin'> 
170				<#assign textEndTime =textField.getValue().getString(locale) /> 
171			</#if> 
172		</#list> 
173        <#list dateFields as dateField> 
174            <#if dateField.name == 'FechaInicioAviso'> 
175               <#-- <#assign initDate = normalizeDate(dateField,textInitTime, curEntry) /> --> 
176							 <#assign initDate = getterUtil.getString(dateField.getValue().getString(locale)) + " " + textInitTime/> 
177               <#assign initDate = initDate?datetime("yyyy-MM-dd HH:mm")?date/> 
178            </#if> 
179            <#if dateField.name == 'FechaFinAviso'> 
180               <#-- <#assign endDate = normalizeDate(dateField,textEndTime, curEntry) /> --> 
181							<#assign endDate = getterUtil.getString(dateField.getValue().getString(locale)) + " " + textEndTime/> 
182							<#assign endDate =endDate?datetime("yyyy-MM-dd HH:mm")?date /> 
183            </#if>    		 
184        </#list> 
185 
186        <#if (dateTimeNow >= initDate ) && (dateTimeNow <= endDate) > 
187            <#assign currentAlerts = currentAlerts + [curEntry] />  
188 
189        <#elseif (initDate > dateTimeNow ) > 
190            <#assign plannedAlerts = plannedAlerts + [curEntry] /> 
191 
192        <#elseif (endDate < dateTimeNow ) > 
193            <#assign pastAlerts = pastAlerts + [curEntry] /> 
194        </#if> 
195    </#list> 
196</#if> 
197 
198 
199<#assign contador=1> 
200<div class="generic-content"> 
201    <div class="list-avisos"> 
202<section> 
203    <div class="container"> 
204        <div class="row"> 
205            <div class="wrapper-avisos"> 
206                <ul class="nav nav-tabs nav-tabs-default tab-avisos" role="tablist"> 
207                    <li class="col-xs-4" role="presentation"> 
208                        <a href="#tab1" aria-controls="settings" role="tab" data-toggle="tab" class="active" aria-selected="true"><@liferay.language key="aqualogy.liferay.current.alerts" /></a> 
209                    </li> 
210                    <li class="col-xs-4" role="presentation"> 
211                        <a href="#tab2" aria-controls="settings" role="tab" data-toggle="tab"><@liferay.language key="aqualogy.liferay.plannet.alerts" /></a> 
212                    </li> 
213                    <li class="col-xs-4" role="presentation"> 
214                        <a href="#tab3" aria-controls="settings" role="tab" data-toggle="tab"><@liferay.language key="aqualogy.liferay.finished.alerts" /></a> 
215                    </li> 
216                </ul> 
217                <div class="tab-content"> 
218                    <div role="tabpanel" class="tab-content-actuales tab-pane fade active in" id="tab1"> 
219                        <#if currentAlerts?has_content> 
220                            <#list currentAlerts as curEntry> 
221                                <@pintarAviso entry=curEntry id=contador /> 
222                                <#assign contador += 1> 
223                            </#list> 
224                        </#if> 
225                    </div>           
226                    <div role="tabpanel" class="tab-content-actuales tab-pane fade" id="tab2">       
227                        <#if plannedAlerts?has_content> 
228                            <#list plannedAlerts as curEntry> 
229                                <@pintarAviso entry=curEntry id=contador /> 
230                                <#assign contador += 1> 
231                            </#list> 
232                        </#if> 
233                    </div>           
234                    <div role="tabpanel" class="tab-content-actuales tab-pane fade" id="tab3">   
235                        <#if pastAlerts?has_content> 
236                            <#list pastAlerts as curEntry> 
237                                <@pintarAviso entry=curEntry id=contador /> 
238                                <#assign contador += 1> 
239                            </#list> 
240                        </#if> 
241                    </div>                     
242                </div> 
243            </div> 
244        </div> 
245    </div> 
246</section> 
247 
248</div> 
249</div> 
250<script> 
251 
252    function openAlertAnchor() { 
253        var id = window.location.hash.substring(1); 
254        if (id != null && id != '') { 
255            var alertLink = document.getElementById(id); 
256            if (alertLink != null) { 
257                alertLink.click(); 
258
259
260
261    openAlertAnchor(); 
262	 
263	function agregarClaseSiTab2EnURL() { 
264  // Obtener los parámetros de la URL 
265  const urlParams = new URLSearchParams(window.location.search); 
266 
267  // Verificar si el parámetro "tab2" está presente 
268  if (urlParams.has('tab2')) { 
269    // Si el parámetro "tab2" está en la URL, añadir la clase al elemento deseado 
270    const elemento = document.querySelector('#tab2'); // Cambia '#miElemento' por el selector adecuado 
271 
272    if (elemento) { 
273      // Añadir la clase 'activo' al elemento 
274      elemento.classList.add('active'); // Add 'activo' por la clase que desees 
275			elemento.classList.add('in'); // Add 'in' por la clase que desees 
276
277
278
279 
280// Llamar a la función 
281agregarClaseSiTab2EnURL(); 
282	 
283 
284</script>