Financing the system - Mobility Observatory in Catalonia (OMC)

An error occurred while processing the template.
Can't convert this string to number: ""
The blamed expression:
==> cur_AgrupaciónDocumentos.Año.getData()?number  [in template "20097#20123#107771" at line 213, column 56]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign arrAnyos2 = arrAnyos2 + [cur_...  [in template "20097#20123#107771" at line 213, column 21]
----
1<#assign journalArticleId = .vars['reserved-article-id'].data> 
2<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
3<#assign journalArticleResourceLocalServiceUtil = serviceLocator.findService("com.liferay.journal.service.JournalArticleResourceLocalService")> 
4<#assign assetCategoryLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
5<#assign assetVocabularyLocalServiceUtil = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
6 
7<#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
8<#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
9<#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', articleResourcePK) > 
10<#if (themeDisplay.getLanguageId() == 'es_ES')> 
11    <#assign encuestasMovilidad  = 'Encuestas de movilidad'/> 
12    <#assign ultimaActualizacion = 'Última actualización'/> 
13    <#assign CompartirEsteContenido  = 'COMPARTIR ESTE CONTENIDO'/> 
14    <#assign seleccioneElAno  = 'Selecciona el año que quieres consultar'/> 
15    <#assign OMCPublicaciones = 'OMC Publicaciones' /> 
16    <#assign Encuestas = 'Encuestas' /> 
17      <#assign ver = "Ver" /> 
18</#if> 
19<#if (themeDisplay.getLanguageId() == 'ca_ES')> 
20    <#assign encuestasMovilidad  = 'Enquestes de mobilitat'/> 
21    <#assign ultimaActualizacion = 'Darrera actualització'/> 
22    <#assign CompartirEsteContenido  = 'COMPARTEIX AQUEST CONTINGUT'/> 
23    <#assign seleccioneElAno = "Selecciona l´any que vols consultar"/> 
24    <#assign OMCPublicaciones = 'OMC Publicacions' /> 
25    <#assign Encuestas = 'Enquestes' /> 
26      <#assign ver = "Veure" /> 
27 
28</#if> 
29<#if (themeDisplay.getLanguageId() == 'en_US')> 
30    <#assign encuestasMovilidad  = 'Mobility surveys'/> 
31    <#assign ultimaActualizacion = 'Last update'/> 
32    <#assign CompartirEsteContenido  = 'SHARE THIS CONTENT'/> 
33    <#assign seleccioneElAno = 'Select the year you want to consult'/> 
34    <#assign OMCPublicaciones = 'OMC Publications' /> 
35    <#assign Encuestas = 'Surveys' /> 
36      <#assign ver = "See" /> 
37 
38</#if> 
39<#assign breadcrumbList = false /> 
40<#assign estudio = false /> 
41<#list asset.getCategories() as category> 
42 
43<#--<#if (category.vocabularyId == 104188)>--> 
44    <#if (category.name=='Tipo de Publicacion')> 
45        <#assign breadcrumbList = true /> 
46    </#if> 
47    <#if (category.name=='Estudios') || (category.name=='Estudis') > 
48    <#--<#if (category.categoryId == 104189)>--> 
49        <#assign tipoCat = OMCPublicaciones> 
50        <#assign urlTipoCat = '/web/observatori/publicacions'> 
51        <#assign estudio = true /> 
52         
53    </#if> 
54   <#-- <#if (category.name=='Estudios')> 
55    <#--<#if (category.categoryId == 104189)>--> 
56      <#--  <#assign tipoCat = OMCPublicaciones> 
57        <#assign urlTipoCat = '/web/observatori/publicacions'> 
58    </#if>--> 
59<#--<#if (category.categoryId == 104190)>--> 
60    <#if (category.name=='Encuestas')> 
61        <#assign tipoCat = Encuestas> 
62        <#assign urlTipoCat = '/web/observatori/enquestes-de-mobilitat'> 
63    </#if> 
64</#list> 
65 
66<#if (breadcrumbList = true)> 
67 
68    <ol class="breadcrumb"> 
69        <li class="breadcrumb-item"> 
70            <a class="breadcrumb-link" href="${urlTipoCat}" title="Encuestas de movilidad"> 
71                <span class="breadcrumb-text-truncate">${tipoCat}</span> 
72            </a> 
73        </li> 
74        <li class="breadcrumb-item"> 
75            <span class="active ">${Nombre.getData()}</span> 
76        </li> 
77    </ol> 
78<#else> 
79 
80   <#-- <ol class="breadcrumb"> 
81        <li class="breadcrumb-item"> 
82           <#-- <span class="active ">${Nombre.getData()}</span>--> 
83         
84          
85       <#-- </li> 
86    </ol>--> 
87    <#if (estudio = true)> 
88 
89  <ol class="breadcrumb2"> 
90     <li class="breadcrumb-item"> 
91            <a class="breadcrumb-link" href="${urlTipoCat}" > 
92                <span class="breadcrumb-text-truncate">${tipoCat}</span> 
93            </a> 
94        </li> 
95        <li class="breadcrumb-item"> 
96            <span class="active ">${Nombre.getData()}</span> 
97        </li> 
98     </ol> 
99     <#else> 
100     <ol class="breadcrumb"> 
101        <li class="breadcrumb-item"> 
102            <span class="active ">${Nombre.getData()}</span> 
103         
104          
105       </li> 
106    </ol> 
107      
108</#if> 
109 
110</#if> 
111 
112<section class="head-section -white pt-0 container-encuesta"> 
113    <div class="container pt-0"> 
114        <section class="align-items-start d-flex flex-wrap justify-content-between title-section w-100"> 
115            <h1>${Nombre.getData()}</h1> 
116            <#assign categories = false> 
117            <#list asset.getCategories() as category> 
118                <#if (category.name=='Tipo de estudio')> 
119                <#-- <#if (category.vocabularyId == 81649)>--> 
120                    <#assign categories = true> 
121                </#if> 
122            </#list> 
123            <#if categories = true> 
124                <div class="box-categorias"> 
125                    <#list asset.getCategories() as category> 
126                    <#--<#if (category.vocabularyId == 81649)>--> 
127                        <#if (category.name=='Tipo de estudio')> 
128 
129                        <#--   <#if (category.categoryId == 81650)>--> 
130                            <#if (category.name=='Estudios OMC')> 
131                                <span class="yellow-light">${category.getTitle(themeDisplay.getLocale())}</span> 
132                            </#if> 
133                        <#--<#if (category.categoryId == 81651)>--> 
134                            <#if (category.name=='Estudios externos')> 
135                                <span class="blue-light">${category.getTitle(themeDisplay.getLocale())}</span> 
136                            </#if> 
137                        </#if> 
138                    </#list> 
139                </div> 
140            </#if> 
141        </section> 
142        <section class="ficha-template"> 
143      
144            <#assign arrAnyos = [] /> 
145            <#assign anyo = false> 
146            <#list AgrupaciónDocumentos.getSiblings() as cur_AgrupaciónDocumentos> 
147                <#if (cur_AgrupaciónDocumentos.Año?exists) && (cur_AgrupaciónDocumentos.Año.getData()?? && cur_AgrupaciónDocumentos.Año.getData() != "")> 
148                    <#assign arrAnyos = arrAnyos + [ cur_AgrupaciónDocumentos.Año.getData()?number ] /> 
149                    <#assign maxAnyo = arrAnyos?max /> 
150                    <#assign anyo = true> 
151                </#if> 
152            </#list> 
153            <#if (anyo = true)> 
154                <p class="subtitle">${ultimaActualizacion}: ${maxAnyo}</p> 
155            </#if> 
156 
157 
158            <#if (Descripción?exists)> 
159                <div class="description"> 
160                    ${Descripción.getData()} 
161                </div> 
162            </#if> 
163            <#if (CajaDeTexto18gz?exists) &&(CajaDeTexto18gz.getSiblings()?has_content) &&(CajaDeTexto18gz.getData()?? && CajaDeTexto18gz.getData() != "")> 
164             
165                <#list CajaDeTexto18gz.getSiblings() as cur_CajaDeTexto18gz> 
166                <div class="list-item -encuesta"> 
167                   <a href="${cur_CajaDeTexto18gz.Texto19yx.getData()}" class="d-block w-100"> 
168                   <strong class="title-section -blue w-100"> ${cur_CajaDeTexto18gz.getData()}</strong> 
169                    <span class="link-arrow" >${ver}</span> 
170                  </a> 
171                   
172                </div> 
173                </#list> 
174             
175            </#if> 
176            <#assign categories = false> 
177            <#list asset.getCategories() as category> 
178                 
179 
180            <#-- <#if (category.vocabularyId == 104265) || (category.vocabularyId == 104192)>--> 
181                <#if (category.name=='Ámbito territorial') || (category.name=='Temática Publicaciones')> 
182                    <#assign categories = true> 
183                </#if> 
184            </#list> 
185            <#if categories = true> 
186                <div class="box-categorias"> 
187                    <#list asset.getCategories() as category> 
188                        ${category} 
189                    <#--<#if (category.vocabularyId == 104192)>--> 
190                        <#if (category.name=='Temática Publicaciones')> 
191                            <span>${category.getTitle(themeDisplay.getLocale())}</span> 
192                        </#if> 
193                    <#--<#if (category.vocabularyId == 104265)>--> 
194                        <#if (category.name=='Ámbito territorial')> 
195                            <span>${category.getTitle(themeDisplay.getLocale())}</span> 
196                        </#if> 
197                    </#list> 
198                </div> 
199            </#if> 
200            <#assign documents = false /> 
201            <#list AgrupaciónDocumentos.getSiblings() as cur_AgrupaciónDocumentos> 
202                <#list cur_AgrupaciónDocumentos.AgrupaciónDocumentos1.getSiblings() as cur_nombreAgrupacion> 
203                    <#if (cur_nombreAgrupacion.NombreDocumento?exists) && (cur_nombreAgrupacion.NombreDocumento.getData()?? && cur_nombreAgrupacion.NombreDocumento.getData() != "") && (cur_nombreAgrupacion.NombreDocumento.getSiblings()?has_content) && (cur_nombreAgrupacion.NombreDocumento.Documento?exists) && (cur_nombreAgrupacion.NombreDocumento.Documento.getData()?? && cur_nombreAgrupacion.NombreDocumento.Documento.getData() != "") > 
204                        <#assign documents = true /> 
205                    </#if> 
206                </#list> 
207            </#list> 
208 
209            <#if (anyo = true) && (documents = true)> 
210            <#assign arrAnyos2 = []/> 
211            <#list AgrupaciónDocumentos.getSiblings() as cur_AgrupaciónDocumentos> 
212                <#if (cur_AgrupaciónDocumentos.Año?has_content)> 
213                    <#assign arrAnyos2 = arrAnyos2 + [ cur_AgrupaciónDocumentos.Año.getData()?number ] /> 
214                    <#assign anyosOrder = arrAnyos2?sort?reverse /> 
215                </#if> 
216            </#list> 
217            <div class=" d-flex flex-wrap justify-content-center list-inform"> 
218                <div class="d-flex w-100 select-anio align-items-center"> 
219                    <strong class="legend-select ">${seleccioneElAno}:</strong> 
220                    <div class="align-items-center border-arrow-blue d-flex" id="nav-facturacion"  > 
221                <span class="option"><strong>${maxAnyo}</strong> 
222                    <ul class="d-none"> 
223                    <#list anyosOrder as anyo> 
224                        <li data-value="${anyo}"><span>${anyo}</span></li> 
225                    </#list> 
226                    </ul> 
227                </span> 
228                    </div> 
229                </div> 
230 
231                <#list anyosOrder as anyo> 
232                <#if (maxAnyo == anyo)> 
233                <div class="container-documents w-100 " data-anyo="${anyo}"> 
234                    <#else> 
235                    <div class="container-documents w-100 d-none" data-anyo="${anyo}"> 
236                        </#if> 
237                        <#list AgrupaciónDocumentos.getSiblings() as cur_AgrupaciónDocumentos> 
238                            <div class="d-flex flex-wrap justify-content-between align-items-start"> 
239                                <#if (cur_AgrupaciónDocumentos.Año.getData()?number == anyo)> 
240                                    <p class="title-section  w-100">${cur_AgrupaciónDocumentos.NombreEncuesta.getData()}</p> 
241 
242                                    <#if (cur_AgrupaciónDocumentos.AgrupaciónDocumentos1?exists)> 
243                                        <#list cur_AgrupaciónDocumentos.AgrupaciónDocumentos1.getSiblings() as cur_nombreAgrupacion> 
244                                            <div class="container-agrupacion"> 
245                                                <p><strong> ${cur_nombreAgrupacion.NombreAgrupación.getData()}</strong></p> 
246                                                <#assign docName = ''> 
247                                                <#if (cur_nombreAgrupacion.NombreDocumento?exists) && (cur_nombreAgrupacion.NombreDocumento.getData()?? && cur_nombreAgrupacion.NombreDocumento.getData() != "") && (cur_nombreAgrupacion.NombreDocumento.getSiblings()?has_content) > 
248 
249                                                    <#list cur_nombreAgrupacion.NombreDocumento.getSiblings() as cur_NombreDocumento> 
250                                                        <#if ((cur_NombreDocumento.Documento.getData())?? && cur_NombreDocumento.Documento.getData() != "")> 
251                                                            <#assign url = cur_NombreDocumento.Documento.getData()> 
252                                                            <#assign part = stringUtil.split(url, "/")> 
253                                                            <#assign docName = part[4]> 
254                                                            <#assign parts = stringUtil.split(part[4],".")> 
255                                                            <#list parts as k> 
256                                                                <#assign part = k> 
257                                                            </#list> 
258                                                            <a target="_blank" class="link-download ${part} d-flex" href="${cur_NombreDocumento.Documento.getData()}"> 
259                                                                ${cur_NombreDocumento.getData()} 
260                                                            </a> 
261                                                        </#if> 
262                                                    </#list> 
263                                                </#if> 
264                                            </div> 
265                                        </#list> 
266                                    </#if> 
267                                </#if> 
268                            </div> 
269 
270                        </#list> 
271 
272 
273 
274                    </div> 
275                    </#list> 
276                    </#if> 
277 
278        </section> 
279        <div class="share justify-content-start"> 
280            <br></br>  <br></br> <br></br> 
281            <span><strong>${CompartirEsteContenido}:</strong></span> 
282            <a 
283                    target="_blank" 
284                    href="https://twitter.com/intent/tweet?text=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}" 
285            ><i class="fa fa-twitter" aria-hidden="true"></i 
286                ></a> 
287            <a 
288                    target="_blank" 
289                    href="https://www.facebook.com/sharer/sharer.php?u=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}" 
290            ><i class="fa fa-facebook" aria-hidden="true"></i 
291                ></a> 
292            <a 
293                    target="_blank" 
294                    href="https://wa.me/?text=${themeDisplay.getPortalURL()}${themeDisplay.getURLCurrent()}" 
295            ><i class="fa fa-whatsapp" aria-hidden="true"></i 
296                ></a> 
297            <a 
298                    href='javascript:void();' onclick='var a=document.createElement(&quot;input&quot;);a.setAttribute(&quot;value&quot;,window.location.href.split(&quot;?&quot;)[0].split(&quot;#&quot;)[0]),document.body.appendChild(a),a.select(),document.execCommand(&quot;copy&quot;),document.body.removeChild(a);var c=document.createElement(&quot;style&quot;),e=document.createTextNode(&quot;#av{position:fixed;z-index:999999;width:120px;top:15%;left:50%;margin-left:-60px;padding:10px;background:#F6AE2D;border-radius:8px;font-size: 14px;color:white;text-align:center}&quot;);c.appendChild(e),document.head.appendChild(c);var av=document.createElement(&quot;div&quot;);av.setAttribute(&quot;id&quot;,&quot;av&quot;);var c=document.createTextNode(&quot;URL copiada&quot;);av.appendChild(c),document.body.appendChild(av),window.load=setTimeout(&quot;document.body.removeChild(av)&quot;,2e3);' 
299            ><i class="fa fa-link" aria-hidden="true"></i 
300                ></a> 
301        </div> 
302    </div> 
303 
304</section> 
305<script> 
306    $("#nav-facturacion").click(function(){ 
307        $(this).toggleClass('active') 
308        $(this).find('ul').toggleClass('d-none') 
309 
310    }) 
311    $("#nav-facturacion ul li").click(function(){ 
312        var textoOption = $(this).text() 
313        var valueOption = $(this).attr('data-value') 
314        $('#nav-facturacion .option strong').text(textoOption) 
315        $('.container-documents').addClass('d-none') 
316        $('.container-documents[data-anyo="'+valueOption+'"]').removeClass('d-none') 
317    }) 
318 
319 
320</script> 
321<style> 
322.breadcrumb2 { 
323    display: flex; 
324    flex-wrap: wrap; 
325    padding: 0.75rem 1rem; 
326    margin-bottom: 1rem; 
327    list-style: none; 
328    background-color: #e9ecef; 
329    border-radius: 0.25rem; 
330
331 
332    #nav-facturacion{ 
333        margin: 0; 
334        cursor: pointer; 
335        display: flex; 
336        justify-content: flex-end; 
337        padding: 20px; 
338        position: relative; 
339        min-height: 85px; 
340        width:120px; 
341
342    #nav-facturacion.active .option, #calidad.active .option { 
343        background-color: white; 
344        border: 1px solid #F6AE2D; 
345        background-image: url(/o/atmobservatorithemeliferay/images/arrow-orange-up.svg); 
346        background-repeat: no-repeat; 
347        background-size: 18px; 
348        background-position: 85% 19px; 
349        max-height: 150px; 
350        overflow-y: scroll; 
351        border-radius: 7px; 
352
353    #nav-facturacion.active .option::-webkit-scrollbar { 
354        -webkit-appearance: none; 
355
356 
357    #nav-facturacion.active .option::-webkit-scrollbar:vertical { 
358        width:5px; 
359
360    #nav-facturacion.active .option::-webkit-scrollbar-button:increment,#nav-facturacion.active .option::-webkit-scrollbar-button { 
361        display: none; 
362
363 
364    #nav-facturacion.active .option::-webkit-scrollbar:horizontal { 
365        height: 10px; 
366        margin: 5px 0; 
367
368 
369    #nav-facturacion.active .option::-webkit-scrollbar-thumb { 
370        background-color:#F6AE2D; 
371        border-radius: 20px; 
372        border: 2px solid #F6AE2D; 
373
374 
375    #nav-facturacion.active .option::-webkit-scrollbar-track { 
376        border-radius: 10px; 
377
378    #nav-facturacion .option ul{ 
379        z-index: 1; 
380        background: white; 
381        width: 100%; 
382        list-style: none; 
383        margin-bottom:0; 
384        padding-left: 0; 
385
386    #nav-facturacion .option ul li{ 
387        padding: 2px 15px; 
388
389    #nav-facturacion .option{ 
390        font-size: 16px; 
391        padding: 10px; 
392        border-radius: 24px; 
393        border: 1px solid linear-gradient(64deg,#053b66 4%,#002fff 74%,#01e7ff 114%); 
394        padding-right: 55px; 
395        width: 100%; 
396        max-width: 400px; 
397        display: block; 
398        background: white; 
399        border: 1px solid #efefef; 
400        background-image: url(/o/atmobservatorithemeliferay/images/arrow-orange.svg); 
401        background-repeat: no-repeat; 
402        background-size: 18px; 
403        background-position: 85% 19px; 
404        -webkit-animation-name: fadeIn; 
405        animation-name: fadeIn; 
406        position: absolute; 
407        top: 20px; 
408        right: 20px; 
409        z-index: 2; 
410 
411
412    #nav-facturacion.active .option strong,#nav-facturacion .option strong{ 
413        padding: 5px 15px; 
414
415    #nav-facturacion.active .option strong{ 
416        color: #212529; 
417
418    #nav-facturacion .option ul li:hover span{ 
419        color: #F6AE2D; 
420
421    .legend-select{ 
422        padding-right:35px; 
423
424    .head-section.-white .title-section, .head-section.-white .title-section h1 { 
425        color: #323333; 
426        width: calc(100% - 220px); 
427
428 
429    .title-section.-blue { 
430        color: #283593!important; 
431        font-size:18px!important; 
432
433</style> 
It may interest you

Asset Publisher

Company actions in the field of labour mobility

Consultar

Update of the comparative report for public transportation fares in different metropolitan areas.

Consultar