DEIALDIEN BILATZAILEA

Hemen Bizkaian jende gaztearentzako deialdiak aurki ditzakezu, Bizkaiko Foru Aldundiak egin edo finantzatzen baditu.

EGOERA

Errorea gertatu da txantiloia prozesatzerakoan.
Range start index 20 is out of bounds, because the sliced sequence has only 11 element(s). (Note that indices are 0-based).
The blamed expression:
==> begin..(totalEle-one)  [in template "842907#842945#2677535" at line 167, column 46]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign finalEntries = finalEntries[b...  [in template "842907#842945#2677535" at line 167, column 9]
----
1<#--FTL de funciones genericas--> 
2<#assign funcionesCustomId = layout.getGroup().getExpandoBridge().getAttribute("iybg-ftl-funciones")> 
3<#include "${templatesPath}/${funcionesCustomId}"> 
4 
5<#-- Servicios --> 
6<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
7<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
8<#assign assetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")> 
9<#assign assetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") > 
10<#assign searcher = serviceLocator.findService("net.juventud.buscador.categorias.service.SearchService")> 
11<#assign urlEncoder = staticUtil["java.net.URLEncoder"]> 
12 
13<#-- Variables --> 
14<#assign zero = getterUtil.getInteger("0")> 
15<#assign one = getterUtil.getInteger("1")> 
16<#assign currentPag = one> 
17<#assign delta = getterUtil.getLong("10")> 
18<#assign renderURL = themeDisplay.getURLCurrent()> 
19<#assign params = renderURL?split("&")> 
20<#assign queryBusqueda = ""> 
21<#assign selectedEstado = ""> 
22<#assign fechaHasta = ""> 
23<#assign filtro = ""> 
24<#assign completeCurrentRedirecUrl = urlEncoder.encode(themeDisplay.getPortalURL() + renderURL,"UTF-8")> 
25<#assign totalParams = params?size> 
26<#assign selectedCategory = ""> 
27 
28<#list params as param> 
29 
30        <#assign paramLength = getterUtil.getInteger(param?length)> 
31        <#assign equalsIndex = zero> 
32        <#if param?index_of("=") != -1> 
33            <#assign equalsIndex =  getterUtil.getInteger(param?index_of("="))> 
34            <#assign equalsIndex =  equalsIndex + one> 
35        </#if> 
36        <#if param?index_of("zx=") != -1> 
37            <#assign currentzx = param?substring(equalsIndex,paramLength)> 
38            <#assign oldParam = "?zx=" + currentzx> 
39            <#assign renderURL = renderURL?replace(oldParam, "")> 
40            <#assign oldParam = "&zx=" + currentzx> 
41            <#assign renderURL = renderURL?replace(oldParam, "")> 
42            <#assign totalParams = params?size - 1> 
43        </#if> 
44        <#if param?contains("queryBusqueda")> 
45            <#assign replaceQueryBusqueda = param?substring(equalsIndex,paramLength)> 
46            <#assign queryBusqueda =replaceQueryBusqueda?replace("%2C", ",")> 
47        </#if> 
48        <#if param?contains("selectedEstado")> 
49            <#assign selectedEstado = param?substring(equalsIndex,paramLength)> 
50        </#if>         
51        <#if param?contains("fechaHasta")> 
52            <#assign replaceFechaHasta = param?substring(equalsIndex,paramLength)> 
53            <#assign fechaHasta =replaceFechaHasta?replace("%2F", "/")> 
54        </#if> 
55        <#if param?contains("page")> 
56            <#assign currentPag = getterUtil.getLong(param[equalsIndex..(paramLength-1)])> 
57            <#assign oldParam = "&page=" + currentPag> 
58            <#assign renderURL = renderURL?replace(oldParam, "")> 
59            <#assign oldParam = "?page=" + currentPag> 
60            <#assign renderURL = renderURL?replace(oldParam, "")> 
61            <#assign totalParams = params?size - 1> 
62        </#if> 
63        <#if param?contains("catId")> 
64            <#if equalsIndex != 0> 
65                <#assign filtro = param[equalsIndex..(paramLength-1)]> 
66                <#assign selectedCategory = filtro> 
67            </#if> 
68            <#assign oldParam = "&catId="+filtro> 
69            <#assign renderURL = renderURL?replace(oldParam, "")> 
70            <#assign oldParam = "?catId="+filtro> 
71            <#assign renderURL = renderURL?replace(oldParam, "")> 
72            <#assign oldParam = "&catId"> 
73            <#assign renderURL = renderURL?replace(oldParam, "")> 
74            <#assign oldParam = "?catId"> 
75            <#assign renderURL = renderURL?replace(oldParam, "")> 
76            <#assign totalParams = params?size - 1> 
77        </#if>           
78</#list> 
79 
80<#if searcher?exists> 
81        <#assign finalEntries = searcher.searchContentsByQB(entries, queryBusqueda, filtro)> 
82        <#assign finalEntries = searcher.filterContents(finalEntries, selectedEstado,fechaHasta,locale)> 
83<#else> 
84    <#assign finalEntries = entries> 
85</#if> 
86 
87<#assign beginIndex = currentPag - one> 
88<#assign begin = delta * beginIndex> 
89 
90<#assign end = begin + delta> 
91 
92<#assign totalEntriesSize = finalEntries?size> 
93<#assign totalPag = getterUtil.getInteger((finalEntries?size)/delta)> 
94 
95<#assign totalPagMod = finalEntries?size%delta> 
96 
97<#if (finalEntries?size > delta) && totalPagMod!=0> 
98    <#assign totalPag = totalPag + one> 
99</#if> 
100 
101<#assign totalEle = finalEntries?size> 
102<#assign renderPam = "&page="> 
103<#if !renderURL?contains("?")> 
104    <#assign renderPam = "?page="> 
105</#if> 
106<#assign firstURL = renderURL + renderPam + one> 
107<#assign lastURL = renderURL + renderPam + totalPag> 
108 
109<#-- Tener encuenta las categorias --> 
110<#if selectedCategory!=""> 
111    <#assign selectedCategoryText = "&catId=" + selectedCategory >  
112    <#assign firstURL = firstURL + selectedCategoryText> 
113    <#assign lastURL = lastURL + selectedCategoryText> 
114</#if> 
115 
116<#if (totalPag > one)> 
117    <#if (currentPag < totalPag)> 
118        <#assign nextValue = currentPag + one> 
119    <#else> 
120        <#assign nextValue = totalPag> 
121    </#if> 
122 
123    <#if (currentPag > one)> 
124        <#assign previousValue = currentPag - one> 
125    <#else> 
126        <#assign previousValue = one> 
127    </#if> 
128<#else> 
129    <#assign nextValue = one> 
130    <#assign previousValue = one> 
131</#if> 
132 
133<#assign nextURL = renderURL + renderPam + nextValue> 
134<#assign previousURL = renderURL + renderPam + previousValue> 
135<#-- Tener encuenta las categorias --> 
136<#if selectedCategory!=""> 
137    <#assign selectedCategoryText = "&catId=" + selectedCategory >  
138    <#assign nextURL = nextURL + selectedCategoryText> 
139    <#assign previousURL = previousURL + selectedCategoryText> 
140</#if> 
141 
142<#assign message = delta> 
143<#assign init = (delta * (currentPag - one)) + one> 
144<#assign final = delta * currentPag> 
145 
146<#if (totalPag > one)> 
147    <#if (end < totalEle)> 
148        <#assign parameters = [init, end, totalEle]> 
149    <#else> 
150        <#assign parameters = [init, totalEle, totalEle]> 
151    </#if> 
152     
153    <#assign message = languageUtil.format(locale, "showing-x-x-of-x-results", parameters)> 
154<#else> 
155    <#assign parameters = [totalEle]> 
156    <#if (totalEle == one)> 
157        <#assign message = languageUtil.format(locale, "showing-x-result", parameters)> 
158    <#else> 
159        <#assign message = languageUtil.format(locale, "showing-x-results", parameters)> 
160    </#if> 
161</#if> 
162 
163<#if (finalEntries?size > zero)> 
164    <#if (end < totalEle)> 
165        <#assign finalEntries = finalEntries[begin..(end-one)]> 
166    <#else> 
167        <#assign finalEntries = finalEntries[begin..(totalEle-one)]> 
168    </#if> 
169</#if> 
170 
171<div class="iybg-container" id="resultadosConvocatorias" aria-live="polite"> 
172 
173<h2 class="red-separator"><span class="iy-text-color-red iy-text-size-XL">${totalEle}</span> 
174    <#if totalEle == one> 
175        <@liferay.language key="iybg.convocatorias.buscador.convocatoria-encontrada-upper"/> 
176    <#else> 
177        <@liferay.language key="iybg.convocatorias.buscador.convocatorias-encontradas-upper"/> 
178    </#if> 
179</h2> 
180 
181<#-- navegacion por categorias --> 
182<nav class="nav type01"> 
183    <ul class="navbar-nav"> 
184        <li><a id ="todas" class="nav-link active" href="${renderURL}"><@liferay.language key="iybg.todas" /></a></li> 
185            <#assign convocatoriasVocabularyName = "BG-Convocatorias" /> 
186            <#assign categories = assetVocabularyLocalService.getGroupVocabulary(themeDisplay.getCompanyGroupId(), convocatoriasVocabularyName).getCategories() /> 
187 
188            <#list categories as category> 
189                <#assign cont = zero> 
190                <#assign assetsEntries = getArticlesByCategoryId(entries,queryBusqueda,category.getCategoryId())> 
191                <#assign assetsEntries = getArticlesByStateDate(assetsEntries,selectedEstado,fechaHasta,locale)> 
192                <#assign cont = assetsEntries?size> 
193 
194                <#if (totalParams > one)> 
195                    <li> 
196                        <#if (cont > zero)> 
197                            <a id="${category.getCategoryId()?c}" class="nav-link" href="${renderURL}&catId=${category.getCategoryId()?c}">${category.getTitle(locale)}(${cont})</a> 
198                        <#else> 
199                           <span class="not-link"> ${category.getTitle(locale)}</span> 
200                        </#if> 
201                    </li> 
202                <#else> 
203                    <li> 
204                        <#if (cont > zero)> 
205                            <a id="${category.getCategoryId()?c}" class="nav-link" href="${renderURL}?catId=${category.getCategoryId()?c}">${category.getTitle(locale)}(${cont})</a> 
206                        <#else> 
207                            <span class="not-link">${category.getTitle(locale)}</span> 
208                        </#if> 
209                    </li>                 
210                </#if> 
211            </#list> 
212    </ul> 
213</nav> 
214<#-- END Categorias --> 
215 
216<div class="row"> 
217<#if finalEntries?size != zero> 
218     
219        <div class="col-md-8 col-centered"> 
220            <ul class="bipo_participa_estados list-group list-type02"> 
221                <#list finalEntries as curEntry> 
222                    <#assign assetRenderer = curEntry.getAssetRenderer()> 
223                    <#assign journalArticle = assetRenderer.getAssetObject()> 
224                    <#assign renderer = curEntry.getAssetRenderer()> 
225                    <#assign className = renderer.getClassName()> 
226                         
227                    <#assign layoutUuid = journalArticle.getLayoutUuid()> 
228                    <#assign modifiedDate = journalArticle.getModifiedDate()>  
229                    <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, curEntry) /> 
230                    <#if !stringUtil.equalsIgnoreCase("showFullContent", assetLinkBehavior?string)> 
231                        <#assign viewURL = renderer.getURLViewInContext(renderRequest, renderResponse, viewURL) /> 
232                    </#if>             
233 
234                    <#--Solo se usa si se va al asset publisher directamente 
235                    <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService")/> 
236                    <#assign group = groupLocalService.getGroup(groupId)/> 
237                    <#assign groupFriendlyURL = group.getFriendlyURL() />             
238                    <#assign urlViewContext = themeDisplay.getPortalURL() + themeDisplay.getPathFriendlyURLPublic() + groupFriendlyURL + "/detalle-convocatorias/-/asset_publisher/B0ZPAtZFKdIv/content/" + journalArticle.getUrlTitle()> 
239                    --> 
240 
241                    <#--Obtenemos templateKey en funcion del nombre de la plantilla--> 
242                    <#-- Por accesibilidad hay que hace que solo el titulo sea el enlace, no todo. 
243                    <#assign curTemplateKey=getTemplateKeyByTemplateName(themeDisplay.getCompanyGroupId(),"BG-Convocatoria listado")/>             
244 
245                    <a href="${viewURL}?redirectUrl=${completeCurrentRedirecUrl}" class="list-group-item" title='<@liferay.language key="iybg.convocatorias.listado.ir-detalle"/>' tabindex="-1"> 
246                        <@liferay_journal["journal-article"] 
247                                articleId=journalArticle.getArticleId() 
248                                ddmTemplateKey=curTemplateKey 
249                                groupId=journalArticle.getGroupId() /> 
250                    </a> 
251                    --> 
252 
253 
254                    <#assign documentcurrentArticle = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) > 
255                    <#assign rootElementcurrentArticle = documentcurrentArticle.getRootElement() > 
256                    <#assign currentArticleTitulo = saxReaderUtil.createXPath("dynamic-element[@name='titulo']/dynamic-content").selectSingleNode(rootElementcurrentArticle) > 
257                    <#assign currentArticleFechaCaducidad = saxReaderUtil.createXPath("dynamic-element[@name='fecha_caducidad']/dynamic-content").selectSingleNode(rootElementcurrentArticle) > 
258                    <#assign currentArticleNombreConvocante = saxReaderUtil.createXPath("dynamic-element[@name='ConvocanteFieldSet']/dynamic-element[@name='ConvocanteFieldSetFieldSet']/dynamic-element[@name='nombreConvocante']/dynamic-content").selectSingleNode(rootElementcurrentArticle).getStringValue()  > 
259 
260                    <#assign hashFecha=""> 
261                    <#if validator.isNotNull(currentArticleFechaCaducidad.getData())> 
262                        <#assign current_date_Data = .now?date?string('yyyy-MM-dd')> 
263                        <#assign current_date_DateObj = dateUtil.parseDate("yyyy-MM-dd", current_date_Data, locale)> 
264                        <#assign fecha_caducidad_Data = getterUtil.getString(currentArticleFechaCaducidad.getData())> 
265                        <#assign fecha_caducidad_DateObj = dateUtil.parseDate("yyyy-MM-dd", fecha_caducidad_Data, locale)> 
266                        <#assign fecha_caducidad7_Data = (fecha_caducidad_DateObj?long - (7 * 86400000))?number_to_date?string("yyyy-MM-dd")> 
267                        <#assign fecha_caducidad7_DateObj = dateUtil.parseDate("yyyy-MM-dd", fecha_caducidad7_Data, locale)> 
268                        <#assign hashFecha="OK"> 
269                    </#if> 
270 
271                    <li class="list-group-item" tabindex="0"> 
272 
273                        <div class="row"> 
274                         
275                                <div class="col-md-3"> 
276                                    <p> 
277 
278                                        <#assign convocatoriasVocabulary = assetVocabularyLocalService.getGroupVocabulary(themeDisplay.getCompanyGroupId(), convocatoriasVocabularyName) /> 
279                                        <#assign categories = assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(journalArticle.resourcePrimKey)) > 
280 
281                                        <#list categories as category> 
282                                            <#if stringUtil.equalsIgnoreCase(category.vocabularyId?string,convocatoriasVocabulary.getVocabularyId()?string)> 
283                                                <span class="fs-1_2 bold tc-rojo">${category.getTitle(locale)?upper_case}</span> 
284                                            </#if> 
285                                        </#list> 
286 
287                                        <#if validator.isNotNull(hashFecha)> 
288                                            <#if (current_date_DateObj?date >= fecha_caducidad7_DateObj?date) && (current_date_DateObj?date <= fecha_caducidad_DateObj?date)> 
289                                                <span class="clearfix"><span class="red-outline"><@liferay.language key="iybg.convocatorias.listado.ultimos-dias-upper"/></span></span> 
290                                            </#if> 
291                                        </#if> 
292                                    </p> 
293                                </div> 
294                                 
295                                     
296                                <div class="col-md-9"> 
297                                    <#if currentArticleTitulo.getData()?has_content> 
298                                        <p><a href="${viewURL}?redirectUrl=${completeCurrentRedirecUrl}" title='<@liferay.language key="iybg.convocatorias.listado.ir-detalle"/>' tabindex="-1"><span class="bold">${currentArticleTitulo.getData()}</span></a></p> 
299                                    </#if> 
300 
301                                    <#if validator.isNotNull(hashFecha)> 
302                                        <p class="clearfix"> 
303                                        <#if (current_date_DateObj?date > fecha_caducidad_DateObj?date)> 
304                                            <span class="bipo_flechaderecha"><@liferay.language key="iybg.convocatorias.cerrado-upper"/></span> 
305                                        <#else> 
306                                            <span class="bipo_flechaderecha back-rojo"><@liferay.language key="iybg.convocatorias.abierto-upper"/></span> 
307                                        </#if>             
308                                         
309                                        <#if (current_date_DateObj?date > fecha_caducidad_DateObj?date)> 
310                                            <#-- Formato 1: dd/MM/yyyy --> 
311                                            <span class="cerrada bipo_participa_fecha"><@liferay.language key="iybg.convocatorias.plazo-finalizado"/> ${formatFecha (fecha_caducidad_Data, 1, locale)}</span> 
312                                        <#else> 
313                                            <#-- Formato 1: dd/MM/yyyy --> 
314                                            <span class="bipo_participa_fecha"><@liferay.language key="iybg.convocatorias.hasta"/> ${formatFecha (fecha_caducidad_Data, 1, locale)}</span> 
315                                        </#if> 
316                                        </p> 
317                                    </#if> 
318 
319                                    <#if currentArticleNombreConvocante?has_content> 
320                                        <p class="texto-convocantes">${currentArticleNombreConvocante}</p> 
321                                    </#if> 
322                                </div>    
323                        </div> 
324                    </li>                     
325                </#list> 
326            </ul> 
327        </div> 
328 
329		<#if (totalEntriesSize > delta)> 
330			<div class="taglib-page-iterator" > 
331				<div class="clearfix lfr-pagination" > 
332				   <#-- <small>${message}</small>--> 
333						<ul class="pager pager lfr-pagination-buttons bg-paginador"> 
334							<#if (currentPag == one)> 
335								<li class="disabled first"> 
336									<a href="">&larr; <@liferay.language key="first" /></a></li> 
337							<#else> 
338								<li class="first"> 
339									 <a href="${firstURL}">&larr; <@liferay.language key="first" /></a></li> 
340							</#if> 
341							 
342							<#if (currentPag == one)> 
343								<li class="disabled">    
344								   <a href=""><@liferay.language key="previous" /></a></li> 
345							<#else> 
346								<li> 
347									<a href="${previousURL}"><@liferay.language key="previous" /></a></li> 
348							</#if> 
349							 
350								 
351							<#if (currentPag == totalPag)> 
352								<li class="disabled"> 
353									<a href=""><@liferay.language key="next" /></a></li> 
354							<#else> 
355								<li> 
356									<a href="${nextURL}"><@liferay.language key="next" /></a></li> 
357							</#if> 
358								 
359							<#if (currentPag == totalPag)> 
360								<li class="disabled last"> 
361									<a href=""><@liferay.language key="last" /> &rarr;</a></li> 
362							<#else> 
363								<li class="last"> 
364									<a href="${lastURL}"><@liferay.language key="last" /> &rarr;</a></li> 
365							</#if> 
366						</ul> 
367				</div> 
368			</div> 
369		</#if>   
370	<#else> 
371		<div class="alert alert-info type01"> 
372				<p class="flex-container"><span class="bipoicon icon-calendar"></span> <span><@liferay.language key="iybg.convocatorias.listado.no-results"/></span></p> 
373		</div> 
374	</#if> 
375 
376	</div> 
377</div> 
378<#function getArticlesByCategoryId entries queryBusqueda categoriId> 
379    <#assign categoriesEntries = searcher.searchContentsByQB(entries, queryBusqueda, categoriId?c)> 
380    <#return categoriesEntries> 
381</#function> 
382 
383<#function getArticlesByStateDate entries selectedEstado fechaHasta locale> 
384    <#assign categoriesEntries = searcher.filterContents(entries, selectedEstado,fechaHasta,locale)> 
385    <#return categoriesEntries> 
386</#function> 
387 
388<script type="text/javascript"> 
389 
390    $(function() { 
391        // Handler for .ready() called. 
392        var isFiltro=String(${filtro}); 
393         
394        $("ul.navbar-nav li a").removeClass("active"); 
395        if (isFiltro==""){ 
396            $("#todas").addClass("active"); 
397        }else{ 
398            $("#"+isFiltro).addClass("active"); 
399
400     
401    }); 
402 
403</script>