Agenda

Componence Asset List

Er trad een fout op tijdens de verwerking van de sjabloon.
The following has evaluated to null or missing:
==> hourMinute[1]  [in template "10155#10193#null" at line 267, column 99]

----
Tip: It's the final [] step that caused this error, not those before it.
----
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 minute = hourMinute[1]  [in template "10155#10193#null" at line 267, column 81]
----
1<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
2<#assign httpServletRequest = serviceContext.getRequest()> 
3<#assign portletId = getterUtil.getString(httpServletRequest.getParameter("p_p_id"), "") /> 
4<#assign backUrl =''/> 
5<#assign currentCompleteURL=portalUtil.getCurrentCompleteURL(httpServletRequest) /> 
6<#assign index=currentCompleteURL?index_of("/-/wcl/")> 
7<#assign expirationdate =''/> 
8<#assign articleId = .vars['reserved-article-id'].data> 
9<#assign JournalArticleService = serviceLocator.findService("com.liferay.journal.service.JournalArticleService")>  
10<#assign journalArticle = JournalArticleService.getLatestArticle(groupId, articleId,-1)> 
11<#assign validatorUtil = staticUtil["com.liferay.portal.kernel.util.Validator"] /> 
12<#setting locale = localeUtil.getDefault()> 
13<#setting date_format="dd MMMM yyyy"> 
14 
15<#assign aCLS = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryService")> 
16<#assign aVLS = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyService")> 
17<#assign lLS  = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService")> 
18<#assign HtmlUtil = staticUtil["com.liferay.portal.kernel.util.HtmlUtil"] /> 
19 
20<#assign jLS = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
21<#assign dQFU = staticUtil["com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil"] /> 
22<#assign classResolver = staticUtil["com.liferay.portal.kernel.util.ClassResolverUtil"] /> 
23<#assign eCLSU = serviceLocator.findService("com.liferay.expando.kernel.service.ExpandoColumnLocalService")> 
24<#assign eVLSU = serviceLocator.findService("com.liferay.expando.kernel.service.ExpandoValueLocalService")> 
25<#assign expandoValueClass = classResolver.resolveByPortalClassLoader("com.liferay.expando.kernel.model.ExpandoValue")/> 
26<#assign rFU = staticUtil["com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil"] /> 
27 
28 
29<#assign filterVocabNamesForTitle = "Contactvorm"> 
30<#assign vestigingVocabName = "Vestiging PG"> 
31<#assign vestigingPSYQVocabName = "Vestigingen PsyQ"> 
32 
33<#assign curArticleCategories = aCLS.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())> 
34<#assign type = ""> 
35<#list curArticleCategories as category> 
36        <#assign vocab = aVLS.getVocabulary(category.getVocabularyId()) >       
37       <#if (vocab.getName() == filterVocabNamesForTitle) > 
38   <#if validatorUtil.isNotNull(type)> 
39    <#assign type =  type+", "> 
40   </#if> 
41            <#assign type = type + category.getTitle(locale) > 
42       </#if> 
43</#list> 
44<#macro renderFormHtml cssClass layoutId aCssClass text title target place topic date> 
45 <#assign t = target> 
46 <#if validatorUtil.isNotNull(layoutId)> 
47  <#if t == ""> 
48   <#assign t = "_self"/> 
49  </#if> 
50  <#assign tgt = "target =" + t> 
51  <#assign url = layoutId + "?activiteittitel="+journalArticle.getUrlTitle() + "&location=" + place + "&event=" + topic + "&timeslot=" + date> 
52  <div title="${title}" class="${cssClass}"><a rel="nofollow" class="${aCssClass}" ${tgt} href="${htmlUtil.escape(url)}">${text}</a></div> 
53 </#if> 
54</#macro> 
55 
56<#macro renderInfoFormHtml cssClass layoutId aCssClass text title target> 
57 <#assign t = target> 
58 <#if validatorUtil.isNotNull(layoutId)> 
59  <#if t == ""> 
60   <#assign t = "_self"/> 
61  </#if> 
62  <#assign tgt = "target =" + t> 
63  <#assign url = layoutId + "?activiteittitel="+journalArticle.getUrlTitle()> 
64  <div title="${title}" class="${cssClass}"><a rel="nofollow" class="${aCssClass}" ${tgt} href="${htmlUtil.escape(url)}">${text}</a></div> 
65 </#if> 
66</#macro> 
67 
68<#macro getDetailPagePlid_AC art groupId> 
69    <#assign plid=0> 
70    <#assign tableName="site-settings-"+groupId> 
71    <#assign eValue=eVLSU.getValue(company.getCompanyId(),"site-settings",tableName,"structure-layout-pairs",1)>   
72    <#if validatorUtil.isNotNull(eValue)> 
73      <#assign structureLayoutPairs=stringUtil.split(eValue.getData(),",")> 
74   <#list structureLayoutPairs as pair> 
75         <#assign pairParts=stringUtil.split(pair,"||")> 
76         <#assign structureId=pairParts[0]> 
77         <#assign layoutId=pairParts[2]> 
78         <#if art.getStructureId() ==structureId> 
79            <#assign plid=getterUtil.getLong(layoutId)> 
80         </#if> 
81      </#list> 
82    </#if> 
83</#macro> 
84 
85 
86<div class="pg-content agenda-detail"> 
87 <div class="col-md-8"> 
88  <#assign backUrl =''/> 
89  <#if httpServletRequest.getHeader("referer")??> 
90   <#assign backUrl =  httpServletRequest.getHeader("referer")/> 
91   <#assign filterIndex=backUrl?index_of("/filter?")> 
92   <#if (filterIndex>0)> 
93    <#assign currentCompleteURL=portalUtil.getCurrentCompleteURL(httpServletRequest) /> 
94    <#assign index=currentCompleteURL?index_of("/-/wcl/")> 
95    <#if (index>0)> 
96     <#assign backUrl =currentCompleteURL?substring(0,index)/> 
97    <#else> 
98     <#assign backUrl =''/> 
99    </#if> 
100   </#if> 
101  <#else> 
102    <#assign currentCompleteURL=portalUtil.getCurrentCompleteURL(httpServletRequest) /> 
103    <#assign index=currentCompleteURL?index_of("/-/wcl/")> 
104    <#if (index>0)> 
105    <#assign backUrl =currentCompleteURL?substring(0,index)/> 
106    <#else> 
107    <#assign backUrl =''/> 
108     </#if> 
109  </#if> 
110  <div class="taglib-header "> 
111   <#if (portletId!="" && !(portletId?contains("JournalContentPortlet_INSTANCE_")) && backUrl!="")> 
112    <h3 class="header-title"> 
113     <span class="pull-left"> 
114     <#if validator.isNotNull(backUrl) && portalUtil.escapeRedirect(backUrl)?? && validator.isNotNull(portalUtil.escapeRedirect(backUrl))> 
115      <a class="icon-circle-arrow-left previous-level" href="${htmlUtil.escapeHREF(portalUtil.escapeRedirect(backUrl))}" title="<@liferay.language key='back' />"> 
116      <@liferay.language key='back' /> 
117      </a> 
118      </#if> 
119     </span> 
120 
121     </h3> 
122   </#if> 
123  </div> 
124   
125  <#if (abstract_image.getData()!='')> 
126   <#assign imgStr = abstract_image.getData()?substring(0,abstract_image.getData()?last_index_of('/'))> 
127   <#assign imgStr = imgStr?substring(imgStr?last_index_of('/')+1)> 
128   <img src="${abstract_image.getData()}" class="img-rounded pull-right abstract-image" alt="${imgStr}" /> 
129  </#if> 
130   
131  <div class="caption abstract"> 
132   ${abstract_description.getData()} 
133  </div> 
134  <#if subTitle?has_content> 
135   <#if subTitle.getData()!=""> 
136    <h2>${subTitle.getData()}</h2> 
137   </#if> 
138  </#if> 
139  ${para1.getData()} 
140  <div class="row-fluid button-container"> 
141    <#if buttons?has_content> 
142     <#list buttons.getSiblings() as button> 
143      <#assign internalURL = "${button.internalURL.getData()}"> 
144      <#assign externalURL = "${button.externalURL.getData()}"> 
145      <#assign downloadURL = "${button.downloadURL.getData()}"> 
146      <#assign bottonLabel = "${button.getData()}">    
147      <#assign bottonURL = "">      
148      <#if (internalURL != '')> 
149       <#assign bottonURL = button.internalURL.getFriendlyUrl()> 
150      <#elseif (externalURL != '')> 
151        <#assign bottonURL = externalURL> 
152      <#elseif (downloadURL != '')> 
153        <#assign bottonURL = downloadURL> 
154      </#if> 
155      <#if ((bottonLabel != '') && (bottonURL != ''))> 
156        <a class="btn btn-primary" href="${bottonURL}"   target="${button.urlTarget.getData()}"  title="${button.getData()}" > 
157            ${bottonLabel}   
158           <i class="${button.icon.getData()}" style="color:${button.iconColor.getData()}"></i> </a> 
159       </a> 
160      </#if> 
161    </#list> 
162    </#if> 
163  </div> 
164   
165  <#assign procedure = aanmeldProcedure.getData() /> 
166  <#if place.getSiblings()?has_content> 
167             
168            <#assign placeCounter = 0/> 
169            <div id="events-container"> 
170         <h2 class="portlet-title more-agenda-heading">  
171    <span class="portlet-title-text"><@liferay.language key='Beschikbare locaties en datums' /></span>  
172   </h2> 
173            <#list place.getSiblings() as cur_place> 
174             <#assign placeCounter = placeCounter + 1 /> 
175             <#assign placeHasEvents = false /> 
176             <div class="location-body">  
177             <h4 class="location-text">${cur_place.getData()}</h4>  
178              
179             <#assign street = cur_place.street.getData()> 
180             <#assign housenumber = cur_place.housenumber.getData()> 
181             <#assign postcode = cur_place.postcode.getData()> 
182             <#assign place = cur_place.getData()> 
183             <#assign locationComment = cur_place.locationComment.getData()> 
184             <#assign showCommaSeparator = ((validatorUtil.isNotNull(street) || validatorUtil.isNotNull(housenumber)) && (validatorUtil.isNotNull(postcode) || validatorUtil.isNotNull(place)))?c/> 
185             <#assign hasPostcodeOrPlaceData = (validatorUtil.isNotNull(postcode) || validatorUtil.isNotNull(place))?c/> 
186             <#assign hasLocationComment = (validatorUtil.isNotNull(locationComment))?c/> 
187             <#assign showHyphenSeparator = (hasLocationComment?boolean && (showCommaSeparator?boolean || hasPostcodeOrPlaceData?boolean))?c/> 
188              
189             <span class="location-address">${street} ${housenumber}<#if (showCommaSeparator?boolean)>, </#if> ${postcode} ${place} <#if (showHyphenSeparator?boolean)> - </#if> <strong>${locationComment}</strong> </span> 
190          </div> 
191         <#if cur_place.topic.getSiblings()?has_content> 
192         <ul class="media-list more-agenda"> 
193         <#assign topicCounter = 0 /> 
194                 <#list cur_place.topic.getSiblings() as cur_topic> 
195                 <#assign activityStartedBeforeToday = false /> 
196              <#assign activityStartedButHasFollowUpDates = false /> 
197                 <#assign topicCounter = topicCounter + 1 /> 
198                               <#assign timings = ""> 
199                               <#assign dates = "" > 
200                               <#assign dateCount=1> 
201          <#if (procedure == "many") >                            
202                            <#if cur_topic.dateFrom?? && cur_topic.dateFrom.getSiblings()??> 
203                             <#assign dateCounter = 0 /> 
204                             <#assign sortedDateList = [] /> 
205                             <#assign size = cur_topic.dateFrom.getSiblings()?size> 
206                             <#list cur_topic.dateFrom.getSiblings() as datefroms> 
207                               <#assign dateCounter = dateCounter + 1 />  
208                                   <#setting date_format="dd MMMM yyyy"> 
209                                   <#if (size gt 0) && (datefroms.getData()!='') > 
210                                      <#assign hourMinute = datefroms.van.getData()?split(":") /> 
211                                      <#assign hour = hourMinute[0] /> 
212                                      <#assign minute = hourMinute[1] /> 
213                                      <#assign dateFroms = datefroms.getData()/> 
214              <#assign dateFroms = dateFroms?date("yyyy-MM-dd")/> 
215              <#assign dateFroms = dateFroms?string["dd-MM-yyyy"]/> 
216                                   <#assign dateTime = dateFroms + " " + hour + ":" + minute /> 
217                                      <#assign date = dateTime?datetime("dd-MM-yyyy HH:mm")?date> 
218                                      <#assign startTime = datefroms.van.getData()/> 
219                                      <#assign endTime = datefroms.tot.getData()/> 
220                                      <#assign timings = startTime + " - " + endTime/>  
221                                      <#if (dateTime?datetime("dd-MM-yyyy HH:mm")?datetime > .now?datetime || dateTime?datetime("dd-MM-yyyy HH:mm")?date?string == .now?datetime?date?string) > 
222                                       <#assign placeHasEvents = true /> 
223                                       <#assign sortedDateList=sortedDateList+[{"date":date, "time":timings , "timeslot":dateCounter} ]/> 
224                                      </#if>  
225                                     </#if> 
226                                </#list>  
227                                         <#assign size = cur_topic.dateFrom.getSiblings()?size> 
228                                   <#list sortedDateList?sort_by("date") as datefroms> 
229                                    <li class="media"> 
230                                 <span class="media-object pull-left"> 
231                                  <#setting date_format="dd"> 
232                                  <span class='dd'>${datefroms.date?date}</span> 
233                                    <#setting date_format="MMM"> 
234                                  <span class='mm'>${datefroms.date?date}<#if (datefroms.date?string["MMM"] != "mei")>.</#if></span> 
235                               </span> 
236               <div class="media-body"> 
237                <h4 class="media-heading"> 
238                ${cur_topic.getData()} 
239                </h4> 
240                <span class="date-right-block"> 
241                <#setting date_format="dd MMMM yyyy"> 
242                ${datefroms.date}, ${datefroms.time} uur</span> 
243                <#if cur_topic.status.getData() == "available"> 
244                 <#assign activityDate = datefroms.date?date> 
245                 <#if (activityDate?string != .now?date?string) > 
246                  <@renderFormHtml cssClass="sign-up-form pull-right" layoutId=subscriptionForm.getFriendlyUrl() aCssClass="btn btn-primary" text="Aanmelden" title=subscriptionForm.subscriptionFormTitle.getData() target=subscriptionForm.subscriptionFormTarget.getData() place="${placeCounter}" topic="${topicCounter}" date="${datefroms.timeslot}" /> 
247                 <#else> 
248                  <span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
249                 </#if> 
250                <#else> 
251                 <span class='sign-up-form pull-right'>Volgeboekt</span> 
252                </#if> 
253               </div> 
254                                      </li> 
255                                  </#list> 
256                            </#if> 
257                               </#if> 
258                               <#if (procedure == "one") >    
259                               <#assign agendaDateList=[]/>                          
260                            <#if cur_topic.dateFrom?? && cur_topic.dateFrom.getSiblings()??> 
261           <#assign size = cur_topic.dateFrom.getSiblings()?size> 
262           <#list cur_topic.dateFrom.getSiblings() as datefroms> 
263                                   <#setting date_format="dd MMMM yyyy"> 
264                                   <#if (size gt 0) && (datefroms.getData()!='') > 
265                                      <#assign hourMinute = datefroms.van.getData()?split(":") /> 
266                                      <#assign hour = hourMinute[0] /> 
267                                      <#assign minute = hourMinute[1] /> 
268                                      <#assign dateFroms = datefroms.getData()/> 
269              <#assign dateFroms = dateFroms?date("yyyy-MM-dd")/> 
270              <#assign dateFroms = dateFroms?string["dd-MM-yyyy"]/> 
271                                   <#assign dateTime = dateFroms + " " + hour + ":" + minute /> 
272                                      <#assign date = dateTime?datetime("dd-MM-yyyy HH:mm")?date> 
273                                      <#assign startTime = datefroms.van.getData()/> 
274                                      <#assign endTime = datefroms.tot.getData()/> 
275                                      <#assign timings = startTime + " - " + endTime/>  
276              <#--Future Dates --> 
277              <#if (dateTime?datetime("dd-MM-yyyy HH:mm")?datetime > .now?datetime || dateTime?datetime("dd-MM-yyyy HH:mm")?date?string == .now?datetime?date?string) > 
278                                       <#assign placeHasEvents = true /> 
279                                       <#assign agendaDateList=agendaDateList+[{"date":date, "time":timings}]/> 
280                                       <#-- Course started before today but has follow up dates in future --> 
281                                       <#if activityStartedBeforeToday == true > 
282                                        <#assign activityStartedButHasFollowUpDates = true /> 
283                                       </#if> 
284                                      <#-- Course already started before today --> 
285                                      <#else> 
286                                       <#assign activityStartedBeforeToday = true /> 
287               <#assign agendaDateList=agendaDateList+[{"date":date, "time":timings}]/> 
288              </#if> 
289                                     </#if> 
290                                </#list> 
291                                <#-- Course started and has no follow-up dates in future --> 
292                                <#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == false> 
293                                 <#assign agendaDateList=[]/> 
294                                </#if> 
295                             <#assign agendaDateSize = agendaDateList?size> 
296                                 <#if (agendaDateSize > 0) > 
297                                  <li class="media"> 
298                                   <#list agendaDateList?sort_by("date") as i> 
299                                <#if validatorUtil.isNotNull(i.date)> 
300                                  <span class="media-object pull-left"> 
301                                   <#setting date_format="dd"> 
302                                   <span class='dd'>${i.date?date}</span> 
303                                     <#setting date_format="MMM"> 
304                                   <span class='mm'>${i.date?date}<#if (i.date?string["MMM"] != "mei")>.</#if></span> 
305                                </span> 
306                                 <#break> 
307                              </#if> 
308                          </#list> 
309              <div class="media-body"> 
310               <h4 class="media-heading"> 
311               ${cur_topic.getData()} 
312               </h4> 
313               <#assign activityDate = .now?date?string> 
314               <#list agendaDateList?sort_by("date") as datefroms> 
315                                      <#if (datefroms_index == 0) > 
316                 <#assign activityDate = datefroms.date?date> 
317                </#if> 
318 
319                <#setting date_format="dd MMMM yyyy"> 
320                <span class="date-right-block">${datefroms.date}, ${datefroms.time} uur</span> 
321                                       </#list> 
322               <#if cur_topic.status.getData() == "available"> 
323                <#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == true> 
324                 <span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
325                <#else> 
326                 <#if (activityDate?string != .now?date?string) > 
327                  <@renderFormHtml cssClass="sign-up-form pull-right" layoutId=subscriptionForm.getFriendlyUrl() aCssClass="btn btn-primary" text="Aanmelden" title=subscriptionForm.subscriptionFormTitle.getData() target=subscriptionForm.subscriptionFormTarget.getData() place="${placeCounter}" topic="${topicCounter}" date="all"/> 
328                 <#else> 
329                  <span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
330                 </#if> 
331                </#if>  
332                                 <#else> 
333                                  <#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == true> 
334                 <span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
335                <#else> 
336                                   <span class='sign-up-form pull-right'>Volgeboekt</span> 
337                                  </#if> 
338                                 </#if> 
339              </div> 
340             </li> 
341            </#if> 
342                            </#if> 
343                               </#if> 
344                 </#list> 
345                 <#if (placeHasEvents == false) > 
346     <li class="media"> 
347      <div class="media-body"> 
348       <#if (validatorUtil.isNotNull(informationFrom.getFriendlyUrl())) > 
349        <div class='no-dates contact-info'> 
350        <div class="contact">Geen datums beschikbaar, neem contact op voor de mogelijkheden</div> 
351         <@renderInfoFormHtml cssClass="sign-up-form" layoutId=informationFrom.getFriendlyUrl() aCssClass="button btn btn-primary contact-button" text="Contact opnemen" title=informationFrom.informationFromTitle.getData() target=informationFrom.informationFromTarget.getData() /> 
352        </div> 
353       <#else> 
354        <span class='no-dates'>Geen datums beschikbaar, neem contact op voor de mogelijkheden</span> 
355       </#if> 
356        
357      </div> 
358              </li> 
359              </#if> 
360                 </ul> 
361            </#if> 
362     </#list> 
363     </div> 
364        </#if> 
365  
366        
367 </div>  
368 <div class="filter-container col-md-4 meta-container"> 
369  <h2 class="portlet-title"> <span class="portlet-title-text"><@liferay.language key='Informatie' /></span> </h2> 
370  <div class="filter-content agenda-meta-info"> 
371   <#assign datecount = 1> 
372   <#assign otherdate = ""> 
373   <#assign startdate = ""> 
374   <#assign timings = ""> 
375    
376   <#if validatorUtil.isNotNull(duration.getData())> 
377    <dl class="agenda-meta-fields"> 
378      <dt class="date-left-block"><@liferay.language key='Duur' /> </dt> 
379      <dd class="date-right-block">${duration.getData()}</dd> 
380    </dl> 
381   </#if> 
382   <#if validatorUtil.isNotNull(type)> 
383    <dl class="agenda-meta-fields"> 
384      <dt class="date-left-block"><@liferay.language key='Type' /> </dt> 
385      <dd class="date-right-block">${type}</dd> 
386    </dl> 
387   </#if> 
388    
389   <#if validatorUtil.isNotNull(cost.getData())> 
390    <dl class="agenda-meta-fields"> 
391      <dt class="date-left-block"><@liferay.language key='Kosten' /> </dt> 
392      <dd class="date-right-block">${cost.getData()}</dd> 
393    </dl> 
394   </#if> 
395   <div class="button-holder"><a class="btn btn-primary" href="#events-container" title="Check availability"><@liferay.language key='Bekijk beschikbaarheid'/><i class="icon-double-angle-down"></i></a></div> 
396     
397  </div> 
398  
399 </div> 
400</div> 
401<#if (portletId!="" && !(portletId?contains("JournalContentPortlet_INSTANCE_")))> 
402<#assign portletId = htmlUtil.escape(portletId)> 
403 <#assign containerId = "#portlet_"+portletId /> 
404 <style> 
405  ${containerId} header.portlet-topper{ 
406  display:none; 
407
408 </style> 
409</#if>