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>