Une erreur s'est produite lors du traitement du gabarit.
The string doesn't match the expected date/time/date-time format. The string to parse was: "1526912577000". The expected format was: "yyyy-MM-dd hh:mm:ss.SSS".
The nested reason given follows:
Unparseable date: "1526912577000"

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign dateModificationDate = dateMo...  [in template "20101#20128#36857" at line 24, column 5]
----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
2<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
3 
4 
5<#--  --# -- main --> 
6<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService" ) > 
7 
8<#assign dateModificationStr = ""> 
9<#assign dateDebutStr = ""> 
10<#assign dateFinStr = ""> 
11<#assign commentaireCoutPrincipal = ""> 
12<#assign imageCoutPrincipal = ""> 
13	 
14<#assign catnatServiceUtil = utilLocator.findUtil('catnat-services-hook', 'fr.catnat.services.CatNatServiceUtil')> 
15<#assign infosEvenement = catnatServiceUtil.getInfoEvenement(Numero_AGIR.getData())> 
16 
17<#if (infosEvenement?has_content)> 
18    <#assign jsonResponse = jsonFactoryUtil.createJSONObject(infosEvenement)> 
19         <#setting time_zone = "Europe/Paris"> 
20         <#setting time_zone = languageUtil.get(locale, "template-timezone")> 
21     
22         <#assign originalLocale = locale> 
23    <#assign dateModification = jsonResponse.getString('dateModification')> 
24    <#assign dateModificationDate= dateModification?datetime("yyyy-MM-dd hh:mm:ss.SSS")?string("dd/MM/yyyy")> 
25    <#assign dateModificationStr = dateModificationDate> 
26     
27     
28    <#assign dateDebut = jsonResponse.getLong('dateDebut') + 10800000> 
29    <#assign dateDebut = dateDebut?number_to_datetime> 
30    <#assign dateDebutStr = dateDebut?date> 
31     
32    <#assign dateFin = jsonResponse.getLong('dateFin') + 10800000> 
33    <#assign dateFin = dateFin?number_to_datetime> 
34    <#assign dateFinStr = dateFin?date> 
35</#if> 
36		 
37<#--  # -- main --> 
38 <#assign assetUrlToRedirect = journalArticleLocalService.getDisplayArticleByUrlTitle(groupId, .vars['reserved-article-url-title'].data)>  
39 
40<#assign vueMarche = jsonResponse.getJSONObject('vueMarche')> 
41    
42<#--  #Prendre en compte le flag "Afficher cout" dans la contribution Liferay--> 
43<#assign typeEvenement = jsonResponse.getString('typeEvenement')> 
44<#assign title = jsonResponse.getString('libelle')> 
45 
46<#-- <#assign currentUrl = request.get("attributes").CURRENT_COMPLETE_URL > --> 
47 <#assign currentUrl = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
48<#assign imageShare = "" >  
49<style> 
50	@media (max-width: 767px) { 
51		#event_actions { 
52		    display: none; 
53
54		.fa-download { 
55		    display: none; 
56
57		 
58		#deptTrunc{ 
59		display: none; 
60
61		 
62		#deptAll{ 
63		display: inline !important; 
64
65
66</style> 
67<script> 
68 function show(id) { 
69    document.getElementById(id).style.display = 'block'; 
70
71 
72function hide(id) { 
73    document.getElementById(id).style.display = 'none'; 
74}           
75 
76 
77function printEvent() 
78
79    var eventElement = document.getElementById('event_catnat'); 
80    hide('deptTrunc'); 
81    show('deptAll'); 
82 
83    var mywindow = window.open('', 'PRINT', ''); 
84    //printCss.innerHTML = document.getElementById('deptAll').innerHTML; 
85 
86    mywindow.document.write('<html><head><title>' + document.title  + '</title>'); 
87    mywindow.document.write('</head><body >'); 
88    mywindow.document.write('<h1>' + document.title  + '</h1>'); 
89    mywindow.document.write(eventElement.innerHTML); 
90    mywindow.document.write('</body></html>'); 
91     
92 
93    mywindow.document.close(); // necessary for IE >= 10 
94    mywindow.focus(); // necessary for IE >= 10*/ 
95 
96    mywindow.print(); 
97    mywindow.close(); 
98 
99    show('deptTrunc'); 
100    hide('deptAll'); 
101 
102    return true; 
103
104 
105 
106<#--function downloadPDF (){ 
107   return printEvent(); 
108}--> 
109 
110var numeroAgir = '${Numero_AGIR.getData()}'; 
111 
112function displayArretes(callback) { 
113    callback(0, 8, false, '${Numero_AGIR.getData()}'); 
114
115 
116</script> 
117 
118<div class="main-wrapper" id="event_catnat"> 
119    <div class="event_title">${title}</div> 
120    <p> <span class="event_subtitle-txt"> 
121        Mise à jour le ${dateModificationStr}</span></p> 
122    <br> 
123    <div class="event_mise_avant"> 
124        <div class="col-md-8" style="padding: 0;"> 
125    	    <#if (!Image_principale.getData()?has_content)> 
126        		<img src="/images/favicon/mstile-70x70.png" alt="Image Evenement"> 
127        	<#else> 
128        		<img src="${Image_principale.getData()}" class="event_img" alt="Image Evenement"/> 
129        	</#if> 
130             
131          
132                 
133            <#if (validator.isNotNull(Resume.getData()))> 
134                <div class="event_resume">${Resume.getData()}</div> 
135            </#if> 
136        </div> 
137         
138        <div class="col-md-4" style="padding: 0;"> 
139            <table style="width: 100%;border-spacing: 0px;" border="0"> 
140            <tbody> 
141              <tr> 
142                <td style="padding:15px;text-align: left; background-color: #f3f3f3;"> 
143                    <table style="width:100%"> 
144                    <tbody> 
145                    <tr>  
146                        <#if (validator.isNotNull(Information_cle_1_Valeur.getData()))> 
147							<td width="60%"><span class="event_info_title">${Information_cle_1_Valeur.getData()}</span><br><span class="event_info" style="color: #1a5b81; font-weight: bold;">${Information_cle_1_Label.getData()}</span></td>  
148                       </#if> 
149                        <#if (validator.isNotNull(Information_cle_2_Valeur.getData()))> 
150							<td><span class="event_info_title">${Information_cle_2_Valeur.getData()}</span><br><span class="event_info" style="color: #1a5b81;font-weight: bold;">${Information_cle_2_Label.getData()}</span>  </td>  
151                        </#if> 
152                        <#--  --#  Si mise en avant absente => Renseigner le coût de l'événement.--> 
153                        <#if (validator.isNull(Information_cle_1_Valeur.getData()) &&  validator.isNull(Information_cle_2_Valeur.getData()) && getterUtil.getBoolean(Afficher_cout.getData()))> 
154                          <#assign coutMarche = vueMarche.getJSONObject('cout')> 
155                            <td> 
156								<span class="event_info_title" style="font-size: 24px;">${coutMarche.getString("coutStr")}</span><br> 
157								 
158								<span class="event_info" style="color: #1a5b81; font-weight: bold;"> 
159									<#if (validator.isNotNull(Information_cle_cout.getData()))> 
160										${Information_cle_cout.getData()} 
161									<#else> 
162										Dommages assuré hors automobile 
163									</#if> 
164								</span> 
165							</td>  
166                       </#if> 
167                    </tr>  
168                    </tbody> 
169                    </table> 
170                    <hr class="title-category-hr-chatams-blue" style="margin-top: 10px;margin-bottom: 10px;"> 
171            	  <table style="width:100%"> 
172            		  <tr> 
173            			<td width="60%"> 
174            				<b>Date de début </b> 
175            				<br> 
176            				<span class="event_info">${dateDebutStr}</span>  
177            			</td> 
178            			<td> 
179            				<b>Date de fin</b> 
180            				<br> 
181            				<span class="event_info">${dateFinStr}</span>  
182            			</td> 
183            		  </tr> 
184            	  </table> 
185                  
186                  <#if (validator.isNotNull(Cours_eau.getData()))> 
187	                  <br> 
188	                  <b>Cours d'eau ayant débordé<br> 
189	                  <span class="event_info">${Cours_eau.getData()}</span> 
190                  </#if> 
191                   
192                  <#if (validator.isNotNull(jsonResponse.getString('pluviometrie1H'))|| validator.isNotNull(jsonResponse.getString('pluviometrie24H')))> 
193		              <br> 
194		              <br> 
195	                  <b>Pluviométrie maximale</b> 
196	                  <br> 
197	                  <span class="event_info"> 
198	                  	  <#if (validator.isNotNull(jsonResponse.getString('pluviometrie1H')))> 
199	                      	${jsonResponse.getString('pluviometrie1H')} mm en 1h  
200	                      </#if> 
201	                      <#if (validator.isNotNull(jsonResponse.getString('pluviometrie1H')))> 
202		                      <br> 
203		                      ${jsonResponse.getString('pluviometrie24H')} mm en 24 h 
204		                 </#if> 
205	                  </span>  
206                  </#if> 
207                  <br> 
208                  <br> 
209                  <b>Départements concernés <br> 
210                    <#assign deps = jsonResponse.getJSONArray('departementsTouches')> 
211                    <#assign fin = deps.length() - 1> 
212                    
213                    <#assign depsStr = ""> 
214                    <#assign allDepsStr = ""> 
215                     <#assign allDepsPrint = ""> 
216                    <#list 0..fin as i> 
217                       <#assign dep = deps.getString(i)> 
218                        <#if i != 0> 
219                            <#assign separator = ', '> 
220                        <#else> 
221                            <#assign separator = ''> 
222                        </#if> 
223                     
224                         <#assign allDepsStr = allDepsStr + separator + dep> 
225                        <#if i < 6> 
226                            <#assign depsStr = depsStr + separator +dep> 
227                        </#if>   
228                    </#list>              
229                    <#if deps?length gt 6> 
230                        <#assign depsStr = depsStr + " ... "> 
231                     
232                    </#if>   
233                   
234                     
235                  <span id="deptTrunc" class="event_info" title="${allDepsStr}"> 
236                    ${depsStr} 
237                  </span>  
238                   
239                    <span id="deptAll" class="event_info" style="display: none;"> 
240                     ${allDepsStr} 
241                    </span>  
242                  <br> 
243                  <br> 
244                  <div class="pull-right" id="event_actions"> 
245                      
246                      <#--<a href="#" OnClick="javascript:downloadPDF()" title="Telecharger le document"><i style="color:#1a5b81;font-size: 1.8em;" class="fas fa-download"></i></a>--> 
247                      <a href="#" OnClick="javascript:printEvent()" title="Imprimer le document"><i style="color:#1a5b81;font-size: 1.8em;" class="fas fa-print"></i></a> 
248                  </div> 
249                 
250                </td> 
251              </tr> 
252            </tbody> 
253            </table> 
254        </div> 
255    </div> 
256    <br> 
257 
258 
259  
260    <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true" style="text-align:justify"> 
261 
262        <#if (validator.isNotNull(Description.getData()))> 
263        <div class="panel panel-default"> 
264            <div class="panel-heading" role="tab" id="heading1"> 
265            <a role="button" data-toggle="collapse" href="#collapse1" aria-expanded="true" aria-controls="collapse1" class="collapse-head collapsed"> 
266                <h4 class="panel-title"> 
267                    <span class="event_description_title">DESCRIPTION DE L'EVENEMENT</span> 
268                </h4> 
269            </a> 
270            </div> 
271            <div id="collapse1" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading1"> 
272            <div class="panel-body"> 
273                ${Description.getData()} 
274            </div> 
275            </div> 
276        </div> 
277        </#if> 
278 
279 
280        <#if (validator.isNotNull(Dommages.getData()))> 
281 
282        <div class="panel panel-default"> 
283          
284            <div class="panel-heading" role="tab" id="heading2"> 
285                <a role="button" data-toggle="collapse" href="#collapse2" aria-expanded="false" aria-controls="collapse2" class="collapse-head collapsed"> 
286                    <h4 class="panel-title"> 
287                        <span class="event_description_title">DOMMAGES CONSTATES</span> 
288                    </h4> 
289                </a> 
290                </div> 
291             
292            <div id="collapse2" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading2"> 
293            <div class="panel-body"> 
294                ${Dommages.getData()} 
295            </div> 
296            </div> 
297        </div> 
298         </#if> 
299               
300 
301 
302        <#assign communes = jsonResponse.getJSONArray('communesTouchees')> 
303        <#if validator.isNotNull(communes) && communes?length gt 0  && communes != "[]"> 
304        <div class="panel panel-default"> 
305            <div class="panel-heading" role="tab" id="heading3"> 
306                <a role="button" data-toggle="collapse" href="#collapse3" aria-expanded="false" aria-controls="collapse3" class="collapse-head collapsed"> 
307                    <h4 class="panel-title"> 
308                     <span class="event_description_title"> COMMUNES LES PLUS SINISTREES </span> 
309                    </h4> 
310                </a> 
311            </div> 
312            <div id="collapse3" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading3"> 
313            <div class="panel-body"> 
314             
315                <#assign fin = communes?length - 1> 
316                <#list 0..fin as i> 
317                <#assign commune = communes.getString(i)> 
318                    <#if commune??> 
319                        <p>${commune}</p> 
320                    </#if> 
321                </#list> 
322            </div> 
323            </div> 
324        </div> 
325      </#if> 
326 
327 
328 
329 
330        <#assign vueMarche = jsonResponse.getJSONObject('vueMarche')> 
331 
332        <#--  --#Prendre en compte le flag "Afficher cout" dans la contribution Liferay--> 
333        <#assign typeEvenement = jsonResponse.getString('typeEvenement')> 
334             
335        <#if (getterUtil.getBoolean(Afficher_cout.getData()))> 
336             
337        <div class="panel panel-default"> 
338            <div class="panel-heading" role="tab" id="heading4"> 
339                <a role="button" data-toggle="collapse" href="#collapse4" aria-expanded="true" aria-controls="collapse4" class="collapse-head collapsed"> 
340                    <h4 class="panel-title"> 
341                        <span class="event_description_title">COÛT DE L'EVENEMENT</span> 
342                    </h4> 
343                </a> 
344            </div> 
345            <div id="collapse4" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading4"> 
346            <div class="panel-body"> 
347                <#assign coutMarche = vueMarche.getJSONObject('cout')> 
348                <#assign dateCoutPrincipal = coutMarche.getLong('dateCout') + 10800000> 
349                <#assign dateCoutPrincipal = dateCoutPrincipal?number_to_datetime> 
350                <#assign dateCoutPrincipalStr = dateCoutPrincipal?date?string("dd/MM/yyyy")> 
351                     
352                    <p><b>${coutMarche.getString("coutStr")}</b> 
353                     
354                    <#if (cout.getSiblings()?has_content)> 
355                        <#--  # Récupération du commentaire (liferay) correspondant au cout principal 
356                        ## Parcours de la liste des couts du document liferay, pour trouver le commentaire correspondant au cout recu via le service web--> 
357                        <#list  cout.getSiblings() as cur_cout> 
358                            <#assign cout_Data = cur_cout.getData()> 
359                            <#if cout_Data?has_content> 
360                               <#assign cout_DateObj =cout_Data> 
361                             
362                                <#assign coutDate = cout_DateObj?datetime("yyyy-mm-dd")?string("dd/MM/yyyy")> 
363                                <#-- TODO Must check this Part --> 
364                               <#-- <#if (coutDate == dateCoutPrincipalStr)> --> 
365                                  <#assign commentaireCoutPrincipal = getterUtil.getString(cur_cout.getChild("Commentaire_cout").getData())> 
366                                   <#assign imageCoutPrincipal = cur_cout.getChild("Image_cout_par_commune").getData()> 
367                                 <#-- </#if> --> 
368                                     
369                             </#if> 
370                        </#list> 
371                    </#if> 
372                    (mise à jour le : ${dateCoutPrincipalStr}) </p> 
373                    
374                    <#if (validator.isNotNull(commentaireCoutPrincipal))> 
375                        <p>${commentaireCoutPrincipal}</p> 
376                    </#if> 
377                     
378                    <#if (validator.isNotNull(imageCoutPrincipal))> 
379                        <img alt="Cout par commune pour l'ensemble du marché" style="width:100%;" src="${imageCoutPrincipal}" /> 
380                   </#if> 
381                     
382                    <br> 
383                   
384                    <#if vueMarche.get('coutsPrecedents') != "null"> 
385                   
386                        <#assign coutsPrecedents = vueMarche.getJSONArray('coutsPrecedents')> 
387                           ${coutsPrecedents} 
388                        <#if  validator.isNotNull(coutsPrecedents) && coutsPrecedents?length gt 0> 
389                     
390                        <p><b>Rappel des estimations précedentes</b></p> 
391                        <#assign fin = coutsPrecedents.length() - 1> 
392                        <#list fin..0 as i> 
393                           <#assign dateCoutPrecedent = coutsPrecedents.get(i).getString('dateCout')?number + 10800000> 
394                             
395                            <#assign dateCoutPrecedent = dateCoutPrecedent?number_to_datetime> 
396                            <#assign dateCoutPrecedentStr = dateCoutPrecedent?date?string("dd/MM/yyyy")> 
397                             
398                            <#-- TODO -->  
399                            <#list cout.getSiblings() as cur_cout> 
400                                
401                                    <#assign cout_DateObj = cur_cout.getData()> 
402                                    
403                                    <#assign coutDate =  cout_DateObj?datetime("yyyy-mm-dd")?string("dd/MM/yyyy")> 
404                                    <#-- TODO (Must Check this Part) --> 
405                                    <#-- <#if coutDate==dateCoutPrecedentStr> --> 
406                                        <#assign commentaireCout = getterUtil.getString(cur_cout.getChild("Commentaire_cout").getData())> 
407                                        <p>Le ${coutDate} : <b>${coutsPrecedents.get(i).getString("coutStr")}</b> (${commentaireCout})</p> 
408                                  <#--  </#if> --> 
409                            </#list> 
410                             
411                        </#list> 
412                    </#if> 
413                    </#if> 
414                     
415            </div> 
416            </div> 
417        </div> 
418        </#if> 
419        <div class="panel panel-default"> 
420            <div class="panel-heading" role="tab" id="heading5"> 
421                <a role="button" data-toggle="collapse"  href="#collapse5" aria-expanded="true" aria-controls="collapse5" class="collapse-head collapsed"> 
422                    <h4 class="panel-title"> 
423                        <span class="event_description_title">RECONNAISSANCES CAT NAT</span> 
424                    </h4> 
425                </a> 
426             
427            </div> 
428            <div id="collapse5" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading5"> 
429            <div class="panel-body"> 
430                <p>Nombre de communes reconnues Cat Nat : <b>${vueMarche.getString("nombreCommunesReconnuesCatNat")}</b> </p> 
431 
432                <#if (validator.isNotNull(Image_reco.getData()))> 
433                    <img style="max-width:800px;width:100%" alt="Communes reconnues en 굡t de catastrophes naturelle" src="${Image_reco.getData()}" /> 
434                 </#if> 
435            </div> 
436            </div> 
437        </div> 
438 
439        <#if (validator.isNotNull(Source.getData()))> 
440        <div class="panel panel-default"> 
441            <div class="panel-heading" role="tab" id="heading6"> 
442                <a role="button" data-toggle="collapse" href="#collapse6" aria-expanded="true" aria-controls="collapse6" class="collapse-head collapsed"> 
443                     <h4 class="panel-title"> 
444                        <span class="event_description_title">SOURCES</span> 
445                    </h4> 
446                </a> 
447            </div> 
448            <div id="collapse6" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading6"> 
449            <div class="panel-body"> 
450                ${Source.getData()} 
451            </div> 
452            </div> 
453        </div> 
454         </#if> 
455 
456 
457    </div> 
458 
459 
460</div> 
461<div class="ssk-sticky ssk-left ssk-center ssk-lg"> 
462 
463<#assign resumeEvenementSafe = Resume.getData()?replace("\'", "\\'") > 
464<#assign resumeEvenementSafe = resumeEvenementSafe?replace("'", "\\'") > 
465 
466<a href="#" class="ssk ssk-facebook" data-ssk-ready="true"  onclick="shareFacebook(${title},${title},${imageShare}, ${currentUrl}, false); return false;"></a> 
467<a href="" class="ssk ssk-twitter" data-ssk-ready="true" onclick="window.open('http://twitter.com/share?text=${title}&url=${currentUrl}', 'twitter-share-dialog', 'menubar=no,toolbar=no,resizable=yes,scrollbars=no, width=800,height=500');return false;"></a> 
468<a href="#" class="ssk ssk-linkedin" data-ssk-ready="true" onclick="window.open('https://www.linkedin.com/shareArticle?mini=true&url=${currentUrl}', 'linkedin-share-dialog', 'menubar=no,toolbar=no,resizable=yes,scrollbars=no,width=800,height=500');return false;"></a> 
469 
470</div>