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 249, 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 249, 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	<#if validatorUtil.isNotNull(layoutId)> 
46		<#assign tgt = "target =" + target> 
47		<#assign url = layoutId + "?activiteittitel="+journalArticle.getUrlTitle() + "&location=" + place + "&event=" + topic + "&timeslot=" + date> 
48		<div title="${title}" class="${cssClass}"><a rel="nofollow" class="${aCssClass}" ${tgt} href="${htmlUtil.escape(url)}">${text}</a></div> 
49	</#if> 
50</#macro> 
51 
52<#macro renderInfoFormHtml cssClass layoutId aCssClass text title target> 
53	<#if validatorUtil.isNotNull(layoutId)> 
54			<#assign tgt = "target =" + target> 
55			<#assign url = layoutId + "?activiteittitel="+journalArticle.getUrlTitle()> 
56			<div title="${title}" class="${cssClass}"><a rel="nofollow" class="${aCssClass}" ${tgt} href="${htmlUtil.escape(url)}">${text}</a></div> 
57	</#if> 
58</#macro> 
59 
60<#macro getDetailPagePlid_AC art groupId> 
61    <#assign plid=0> 
62    <#assign tableName="site-settings-"+groupId> 
63    <#assign eValue=eVLSU.getValue(company.getCompanyId(),"site-settings",tableName,"structure-layout-pairs",1)>   
64    <#if validatorUtil.isNotNull(eValue)> 
65      <#assign structureLayoutPairs=stringUtil.split(eValue.getData(),",")> 
66	  <#list structureLayoutPairs as pair> 
67         <#assign pairParts=stringUtil.split(pair,"||")> 
68         <#assign structureId=pairParts[0]> 
69         <#assign layoutId=pairParts[2]> 
70         <#if art.getStructureId() ==structureId> 
71            <#assign plid=getterUtil.getLong(layoutId)> 
72         </#if> 
73      </#list> 
74    </#if> 
75</#macro> 
76 
77 
78<div class="pg-content agenda-detail"> 
79	<div class="col-md-8"> 
80		<#assign backUrl =''/> 
81		<#if httpServletRequest.getHeader("referer")??> 
82			<#assign backUrl =  httpServletRequest.getHeader("referer")/> 
83			<#assign filterIndex=backUrl?index_of("/filter?")> 
84			<#if (filterIndex>0)> 
85				<#assign currentCompleteURL=portalUtil.getCurrentCompleteURL(httpServletRequest) /> 
86				<#assign index=currentCompleteURL?index_of("/-/wcl/")> 
87				<#if (index>0)> 
88					<#assign backUrl =currentCompleteURL?substring(0,index)/> 
89				<#else> 
90					<#assign backUrl =''/> 
91				</#if> 
92			</#if> 
93		<#else> 
94			 <#assign currentCompleteURL=portalUtil.getCurrentCompleteURL(httpServletRequest) /> 
95			 <#assign index=currentCompleteURL?index_of("/-/wcl/")> 
96			 <#if (index>0)> 
97				<#assign backUrl =currentCompleteURL?substring(0,index)/> 
98			 <#else> 
99				<#assign backUrl =''/> 
100		   </#if> 
101		</#if> 
102		<div class="taglib-header "> 
103			<#if (portletId!="" && !(portletId?contains("JournalContentPortlet_INSTANCE_")) && backUrl!="")> 
104				<h3 class="header-title"> 
105					<span class="pull-left"> 
106					<#if validator.isNotNull(backUrl) && portalUtil.escapeRedirect(backUrl)?? && validator.isNotNull(portalUtil.escapeRedirect(backUrl))> 
107					<#assign backUrl= htmlUtil.escapeHREF(portalUtil.escapeRedirect(backUrl))> 
108						<a class="icon-circle-arrow-left previous-level" href="${backUrl}" title="<@liferay.language key='back' />"> 
109						<@liferay.language key='back' /> 
110						</a> 
111						</#if> 
112					</span> 
113 
114				 </h3> 
115			</#if> 
116		</div> 
117		 
118		<#if (abstract_image.getData()!='')> 
119			<#assign imgStr = abstract_image.getData()?substring(0,abstract_image.getData()?last_index_of('/'))> 
120			<#assign imgStr = imgStr?substring(imgStr?last_index_of('/')+1)> 
121			<img src="${abstract_image.getData()}" class="img-rounded pull-right abstract-image" alt="${imgStr}" /> 
122		</#if> 
123		 
124		<div class="caption abstract"> 
125			${abstract_description.getData()} 
126		</div> 
127		<#if subTitle?has_content> 
128			<#if subTitle.getData()!=""> 
129				<h2>${subTitle.getData()}</h2> 
130			</#if> 
131		</#if> 
132		${para1.getData()} 
133		<div class="row-fluid button-container"> 
134			 <#if buttons?has_content> 
135					<#list buttons.getSiblings() as button> 
136						<#assign internalURL = "${button.internalURL.getData()}"> 
137						<#assign externalURL = "${button.externalURL.getData()}"> 
138						<#assign downloadURL = "${button.downloadURL.getData()}"> 
139						<#assign bottonLabel = "${button.getData()}">			 
140						<#assign bottonURL = "">				  
141						<#if (internalURL != '')> 
142							<#assign bottonURL = button.internalURL.getFriendlyUrl()> 
143						<#elseif (externalURL != '')> 
144								<#assign bottonURL = externalURL> 
145						<#elseif (downloadURL != '')> 
146								<#assign bottonURL = downloadURL> 
147						</#if> 
148						<#if ((bottonLabel != '') && (bottonURL != ''))> 
149							 <a class="btn btn-primary" href="${bottonURL}"   target="${button.urlTarget.getData()}"  title="${button.getData()}" > 
150												${bottonLabel}	  
151											<i class="${button.icon.getData()}" style="color:${button.iconColor.getData()}"></i>	</a> 
152							</a> 
153						</#if> 
154				</#list> 
155				</#if> 
156		</div> 
157		 
158		<#assign procedure = aanmeldProcedure.getData() /> 
159		<#if place.getSiblings()?has_content> 
160             
161            <#assign placeCounter = 0/> 
162            <div id="events-container"> 
163	        <h2 class="portlet-title more-agenda-heading">  
164				<span class="portlet-title-text"><@liferay.language key='Beschikbare locaties en datums' /></span>  
165			</h2> 
166            <#list place.getSiblings() as cur_place> 
167            	<#assign placeCounter = placeCounter + 1 /> 
168            	<#assign placeHasEvents = false /> 
169            	<div class="location-body">  
170        					<h4 class="location-text">${cur_place.getData()}</h4>  
171        					<span class="location-address">${cur_place.street.getData()} ${cur_place.housenumber.getData()}, ${cur_place.postcode.getData()} ${cur_place.getData()} <#if (validatorUtil.isNotNull(cur_place.locationComment.getData())) > - <strong>${cur_place.locationComment.getData()}</strong> </#if></span> 
172        		</div> 
173        	<#if cur_place.topic.getSiblings()?has_content> 
174        	<ul class="media-list more-agenda"> 
175        	<#assign topicCounter = 0 /> 
176                 <#list cur_place.topic.getSiblings() as cur_topic> 
177                 <#assign activityStartedBeforeToday = false /> 
178	             <#assign activityStartedButHasFollowUpDates = false /> 
179                 <#assign topicCounter = topicCounter + 1 /> 
180                		   	   	     <#assign timings = ""> 
181                		   	   	     <#assign dates = "" > 
182                		   	   	     <#assign dateCount=1> 
183									 <#if (procedure == "many") >                        			 
184	                        			<#if cur_topic.dateFrom?? && cur_topic.dateFrom.getSiblings()??> 
185		                        			<#assign dateCounter = 0 /> 
186		                        			<#assign sortedDateList = [] /> 
187		                        			<#assign size = cur_topic.dateFrom.getSiblings()?size> 
188		                        			<#list cur_topic.dateFrom.getSiblings() as datefroms> 
189		                        					<#assign dateCounter = dateCounter + 1 />  
190	                            		 			<#setting date_format="dd MMMM yyyy"> 
191	                            		 			<#if (size gt 0) && (datefroms.getData()!='') > 
192	                                					<#assign hourMinute = datefroms.van.getData()?split(":") /> 
193	                                					<#assign hour = hourMinute[0] /> 
194	                                					<#assign minute = hourMinute[1] /> 
195	                                					<#assign dateFroms = datefroms.getData()/> 
196														<#assign dateFroms = dateFroms?date("yyyy-MM-dd")/> 
197														<#assign dateFroms = dateFroms?string["dd-MM-yyyy"]/> 
198	                            						<#assign dateTime = dateFroms + " " + hour + ":" + minute /> 
199	                                					<#assign date = dateTime?datetime("dd-MM-yyyy HH:mm")?date> 
200	                                					<#assign startTime = datefroms.van.getData()/> 
201	                                					<#assign endTime = datefroms.tot.getData()/> 
202	                                					<#assign timings = startTime + " - " + endTime/>  
203	                                					<#if (dateTime?datetime("dd-MM-yyyy HH:mm")?datetime > .now?datetime || dateTime?datetime("dd-MM-yyyy HH:mm")?date?string == .now?datetime?date?string) > 
204	                                						<#assign placeHasEvents = true /> 
205	                                						<#assign sortedDateList=sortedDateList+[{"date":date, "time":timings , "timeslot":dateCounter} ]/> 
206	                                					</#if>  
207	                                				</#if> 
208	                            			</#list>  
209	                                        <#assign size = cur_topic.dateFrom.getSiblings()?size> 
210		                            		 		<#list sortedDateList?sort_by("date") as datefroms> 
211		                            		 			<li class="media"> 
212	                							  	     	<span class="media-object pull-left"> 
213	                        									<#setting date_format="dd"> 
214	                        									<span class='dd'>${datefroms.date?date}</span> 
215	                        									  <#setting date_format="MMM"> 
216	                        									<span class='mm'>${datefroms.date?date}<#if (datefroms.date?string["MMM"] != "mei")>.</#if></span> 
217	                    									 </span> 
218															<div class="media-body"> 
219																<h4 class="media-heading"> 
220																${cur_topic.getData()} 
221																</h4> 
222																<span class="date-right-block"> 
223																<#setting date_format="dd MMMM yyyy"> 
224																${datefroms.date}, ${datefroms.time} uur</span> 
225																<#if cur_topic.status.getData() == "available"> 
226																	<#assign activityDate = datefroms.date?date> 
227																	<#if (activityDate?string != .now?date?string) > 
228																		<@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}" /> 
229																	<#else> 
230																		<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
231																	</#if> 
232																<#else> 
233																	<span class='sign-up-form pull-right'>Volgeboekt</span> 
234																</#if> 
235															</div> 
236		                            		    		</li> 
237		                            				</#list> 
238	                        			</#if> 
239                        		     </#if> 
240                        		     <#if (procedure == "one") >    
241                        		     <#assign agendaDateList=[]/>                      			 
242	                        			<#if cur_topic.dateFrom?? && cur_topic.dateFrom.getSiblings()??> 
243											<#assign size = cur_topic.dateFrom.getSiblings()?size> 
244											<#list cur_topic.dateFrom.getSiblings() as datefroms> 
245	                            		 			<#setting date_format="dd MMMM yyyy"> 
246	                            		 			<#if (size gt 0) && (datefroms.getData()!='') > 
247	                                					<#assign hourMinute = datefroms.van.getData()?split(":") /> 
248	                                					<#assign hour = hourMinute[0] /> 
249	                                					<#assign minute = hourMinute[1] /> 
250	                                					<#assign dateFroms = datefroms.getData()/> 
251														<#assign dateFroms = dateFroms?date("yyyy-MM-dd")/> 
252														<#assign dateFroms = dateFroms?string["dd-MM-yyyy"]/> 
253	                            						<#assign dateTime = dateFroms + " " + hour + ":" + minute /> 
254	                                					<#assign date = dateTime?datetime("dd-MM-yyyy HH:mm")?date> 
255	                                					<#assign startTime = datefroms.van.getData()/> 
256	                                					<#assign endTime = datefroms.tot.getData()/> 
257	                                					<#assign timings = startTime + " - " + endTime/>  
258														<#--Future Dates --> 
259														<#if (dateTime?datetime("dd-MM-yyyy HH:mm")?datetime > .now?datetime || dateTime?datetime("dd-MM-yyyy HH:mm")?date?string == .now?datetime?date?string) > 
260	                                						<#assign placeHasEvents = true /> 
261	                                						<#assign agendaDateList=agendaDateList+[{"date":date, "time":timings}]/> 
262	                                						<#-- Course started before today but has follow up dates in future --> 
263	                                						<#if activityStartedBeforeToday == true > 
264	                                							<#assign activityStartedButHasFollowUpDates = true /> 
265	                                						</#if> 
266	                                					<#-- Course already started before today --> 
267	                                					<#else> 
268	                                						<#assign activityStartedBeforeToday = true /> 
269															<#assign agendaDateList=agendaDateList+[{"date":date, "time":timings}]/> 
270														</#if> 
271	                                				</#if> 
272	                            			</#list> 
273	                            			<#-- Course started and has no follow-up dates in future --> 
274	                            			<#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == false> 
275	                            				<#assign agendaDateList=[]/> 
276	                            			</#if> 
277		                        			<#assign agendaDateSize = agendaDateList?size> 
278	                            				<#if (agendaDateSize > 0) > 
279	                            					<li class="media"> 
280			                            				<#list agendaDateList?sort_by("date") as i> 
281		                							  	    <#if validatorUtil.isNotNull(i.date)> 
282		                							  	     	<span class="media-object pull-left"> 
283		                        									<#setting date_format="dd"> 
284		                        									<span class='dd'>${i.date?date}</span> 
285		                        									  <#setting date_format="MMM"> 
286		                        									<span class='mm'>${i.date?date}<#if (i.date?string["MMM"] != "mei")>.</#if></span> 
287		                    									 </span> 
288		                    								   <#break> 
289		                    								</#if> 
290		                								</#list> 
291														<div class="media-body"> 
292															<h4 class="media-heading"> 
293															${cur_topic.getData()} 
294															</h4> 
295															<#assign activityDate = .now?date?string> 
296															<#list agendaDateList?sort_by("date") as datefroms> 
297				                            		 			<#if (datefroms_index == 0) > 
298																	<#assign activityDate = datefroms.date?date> 
299																</#if> 
300 
301																<#setting date_format="dd MMMM yyyy"> 
302																<span class="date-right-block">${datefroms.date}, ${datefroms.time} uur</span> 
303				                            		    	</#list> 
304															<#if cur_topic.status.getData() == "available"> 
305																<#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == true> 
306																	<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
307																<#else> 
308																	<#if (activityDate?string != .now?date?string) > 
309																		<@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"/> 
310																	<#else> 
311																		<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
312																	</#if> 
313																</#if>	 
314							                        		<#else> 
315							                        			<#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == true> 
316																	<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
317																<#else> 
318							                        				<span class='sign-up-form pull-right'>Volgeboekt</span> 
319							                        			</#if> 
320							                        		</#if> 
321														</div> 
322													</li> 
323												</#if> 
324	                        			</#if> 
325                        		     </#if> 
326                 </#list> 
327                 <#if (placeHasEvents == false) > 
328					<li class="media"> 
329						<div class="media-body"> 
330							<#if (validatorUtil.isNotNull(informationFrom.getFriendlyUrl())) > 
331								<div class='no-dates contact-info'> 
332								<div class="contact">Geen datums beschikbaar, neem contact op voor de mogelijkheden</div> 
333									<@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() /> 
334								</div> 
335							<#else> 
336								<span class='no-dates'>Geen datums beschikbaar, neem contact op voor de mogelijkheden</span> 
337							</#if> 
338							 
339						</div> 
340            		</li> 
341	             </#if> 
342                 </ul> 
343            </#if> 
344		   </#list> 
345		   </div> 
346        </#if> 
347	 
348							 
349	</div>	 
350	<div class="filter-container col-md-4 meta-container"> 
351		<h2 class="portlet-title"> <span class="portlet-title-text"><@liferay.language key='Informatie' /></span> </h2> 
352		<div class="filter-content agenda-meta-info"> 
353			<#assign datecount = 1> 
354			<#assign otherdate = ""> 
355			<#assign startdate = ""> 
356			<#assign timings = ""> 
357			 
358			<#if validatorUtil.isNotNull(duration.getData())> 
359				<dl class="agenda-meta-fields"> 
360						<dt class="date-left-block"><@liferay.language key='Duur' /> </dt> 
361						<dd class="date-right-block">${duration.getData()}</dd> 
362				</dl> 
363			</#if> 
364			<#if validatorUtil.isNotNull(type)> 
365				<dl class="agenda-meta-fields"> 
366						<dt class="date-left-block"><@liferay.language key='Type' /> </dt> 
367						<dd class="date-right-block">${type}</dd> 
368				</dl> 
369			</#if> 
370			 
371			<#if validatorUtil.isNotNull(cost.getData())> 
372				<dl class="agenda-meta-fields"> 
373						<dt class="date-left-block"><@liferay.language key='Kosten' /> </dt> 
374						<dd class="date-right-block">${cost.getData()}</dd> 
375				</dl> 
376			</#if> 
377			<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> 
378				 
379		</div> 
380	 
381	</div> 
382</div> 
383<#if (portletId!="" && !(portletId?contains("JournalContentPortlet_INSTANCE_")))> 
384<#assign portletId = htmlUtil.escape(portletId)> 
385	<#assign containerId = "#portlet_"+portletId /> 
386	<style> 
387		${containerId} header.portlet-topper{ 
388		display:none; 
389
390	</style> 
391</#if>