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#ACADEMY-CALENDAR" at line 247, column 99]

----
Tip: It's the final [] step that caused this error, not those before it.
----
Tip: If the failing expression is known to be 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#ACADEMY-CALENDAR" at line 247, 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.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	                            		 			<#assign splitdate = datefroms.getData()?split(",")> 
192	                            					<#if (size gt 0) && (splitdate[0]!='') > 
193	                            						<#assign hourMinute = splitdate[1]?split("-") /> 
194	                                					<#assign hourMinute = hourMinute[0]?split(":") /> 
195	                                					<#assign hour = hourMinute[0] /> 
196	                                					<#assign minute = hourMinute[1] /> 
197	                            						<#assign dateTime = splitdate[0] + " " + hour + ":" + minute /> 
198	                                					<#assign date = dateTime?datetime("dd-MM-yyyy HH:mm")?date> 
199	                                					<#if (dateTime?datetime("dd-MM-yyyy HH:mm")?datetime > .now?datetime || dateTime?datetime("dd-MM-yyyy HH:mm")?date?string == .now?datetime?date?string) > 
200	                                						<#assign placeHasEvents = true /> 
201	                                						<#assign sortedDateList=sortedDateList+[{"date":date, "time":splitdate[1] , "timeslot":dateCounter} ]/> 
202	                                					</#if>  
203	                                				</#if> 
204	                            			</#list>  
205	                                        <#assign size = cur_topic.dateFrom.getSiblings()?size> 
206		                            		 		<#list sortedDateList?sort_by("date") as datefroms> 
207		                            		 			<li class="media"> 
208	                							  	     	<span class="media-object pull-left"> 
209	                        									<#setting date_format="dd"> 
210	                        									<span class='dd'>${datefroms.date?date}</span> 
211	                        									  <#setting date_format="MMM"> 
212	                        									<span class='mm'>${datefroms.date?date}<#if (datefroms.date?string["MMM"] != "mei")>.</#if></span> 
213	                    									 </span> 
214															<div class="media-body"> 
215																<h4 class="media-heading"> 
216																${cur_topic.getData()} 
217																</h4> 
218																<span class="date-right-block"> 
219																<#setting date_format="dd MMMM yyyy"> 
220																${datefroms.date}, ${datefroms.time} uur</span> 
221																<#if cur_topic.status.getData() == "available"> 
222																	<#assign activityDate = datefroms.date?date> 
223																	<#if (activityDate?string != .now?date?string) > 
224																		<@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}" /> 
225																	<#else> 
226																		<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
227																	</#if> 
228																<#else> 
229																	<span class='sign-up-form pull-right'>Volgeboekt</span> 
230																</#if> 
231															</div> 
232		                            		    		</li> 
233		                            				</#list> 
234	                        			</#if> 
235                        		     </#if> 
236                        		     <#if (procedure == "one") >    
237                        		     <#assign agendaDateList=[]/>                      			 
238	                        			<#if cur_topic.dateFrom.getSiblings()??> 
239											<#assign size = cur_topic.dateFrom.getSiblings()?size> 
240											<#list cur_topic.dateFrom.getSiblings() as datefroms> 
241	                            		 			<#setting date_format="dd MMMM yyyy"> 
242	                            		 			<#assign splitdate = datefroms.getData()?split(",")> 
243	                            					<#if (size gt 0) && (splitdate[0]!='') > 
244	                            						<#assign hourMinute = splitdate[1]?split("-") /> 
245	                                					<#assign hourMinute = hourMinute[0]?split(":") /> 
246	                                					<#assign hour = hourMinute[0] /> 
247	                                					<#assign minute = hourMinute[1] /> 
248	                            						<#assign dateTime = splitdate[0] + " " + hour + ":" + minute /> 
249	                                					<#assign date = dateTime?datetime("dd-MM-yyyy HH:mm")?date> 
250														<#--Future Dates --> 
251														<#if (dateTime?datetime("dd-MM-yyyy HH:mm")?datetime > .now?datetime || dateTime?datetime("dd-MM-yyyy HH:mm")?date?string == .now?datetime?date?string) > 
252	                                						<#assign placeHasEvents = true /> 
253	                                						<#assign agendaDateList=agendaDateList+[{"date":date, "time":splitdate[1]}]/> 
254	                                						<#-- Course started before today but has follow up dates in future --> 
255	                                						<#if activityStartedBeforeToday == true > 
256	                                							<#assign activityStartedButHasFollowUpDates = true /> 
257	                                						</#if> 
258	                                					<#-- Course already started before today --> 
259	                                					<#else> 
260	                                						<#assign activityStartedBeforeToday = true /> 
261															<#assign agendaDateList=agendaDateList+[{"date":date, "time":splitdate[1]}]/> 
262														</#if> 
263	                                				</#if> 
264	                            			</#list> 
265	                            			<#-- Course started and has no follow-up dates in future --> 
266	                            			<#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == false> 
267	                            				<#assign agendaDateList=[]/> 
268	                            			</#if> 
269		                        			<#assign agendaDateSize = agendaDateList?size> 
270	                            				<#if (agendaDateSize > 0) > 
271	                            					<li class="media"> 
272			                            				<#list agendaDateList?sort_by("date") as i> 
273		                							  	    <#if validatorUtil.isNotNull(i.date)> 
274		                							  	     	<span class="media-object pull-left"> 
275		                        									<#setting date_format="dd"> 
276		                        									<span class='dd'>${i.date?date}</span> 
277		                        									  <#setting date_format="MMM"> 
278		                        									<span class='mm'>${i.date?date}<#if (i.date?string["MMM"] != "mei")>.</#if></span> 
279		                    									 </span> 
280		                    								   <#break> 
281		                    								</#if> 
282		                								</#list> 
283														<div class="media-body"> 
284															<h4 class="media-heading"> 
285															${cur_topic.getData()} 
286															</h4> 
287															<#assign activityDate = .now?date?string> 
288															<#list agendaDateList?sort_by("date") as datefroms> 
289				                            		 			<#if (datefroms_index == 0) > 
290																	<#assign activityDate = datefroms.date?date> 
291																</#if> 
292 
293																<#setting date_format="dd MMMM yyyy"> 
294																<span class="date-right-block">${datefroms.date}, ${datefroms.time} uur</span> 
295				                            		    	</#list> 
296															<#if cur_topic.status.getData() == "available"> 
297																<#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == true> 
298																	<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
299																<#else> 
300																	<#if (activityDate?string != .now?date?string) > 
301																		<@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"/> 
302																	<#else> 
303																		<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
304																	</#if> 
305																</#if>	 
306							                        		<#else> 
307							                        			<#if activityStartedBeforeToday == true && activityStartedButHasFollowUpDates == true> 
308																	<span class='sign-up-form pull-right activity-started-message'><@liferay.language key='activiteit-reeds-gestart' /></span> 
309																<#else> 
310							                        				<span class='sign-up-form pull-right'>Volgeboekt</span> 
311							                        			</#if> 
312							                        		</#if> 
313														</div> 
314													</li> 
315												</#if> 
316	                        			</#if> 
317                        		     </#if> 
318                 </#list> 
319                 <#if (placeHasEvents == false) > 
320					<li class="media"> 
321						<div class="media-body"> 
322							<#if (validatorUtil.isNotNull(informationFrom.getFriendlyUrl())) > 
323								<div class='no-dates contact-info'> 
324								<div class="contact">Geen datums beschikbaar, neem contact op voor de mogelijkheden</div> 
325									<@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() /> 
326								</div> 
327							<#else> 
328								<span class='no-dates'>Geen datums beschikbaar, neem contact op voor de mogelijkheden</span> 
329							</#if> 
330							 
331						</div> 
332            		</li> 
333	             </#if> 
334                 </ul> 
335            </#if> 
336		   </#list> 
337		   </div> 
338        </#if> 
339	 
340							 
341	</div>	 
342	<div class="filter-container col-md-4 meta-container"> 
343		<h2 class="portlet-title"> <span class="portlet-title-text"><@liferay.language key='Informatie' /></span> </h2> 
344		<div class="filter-content agenda-meta-info"> 
345			<#assign datecount = 1> 
346			<#assign otherdate = ""> 
347			<#assign startdate = ""> 
348			<#assign timings = ""> 
349			 
350			<#if validatorUtil.isNotNull(duration.getData())> 
351				<dl class="agenda-meta-fields"> 
352						<dt class="date-left-block"><@liferay.language key='Duur' /> </dt> 
353						<dd class="date-right-block">${duration.getData()}</dd> 
354				</dl> 
355			</#if> 
356			<#if validatorUtil.isNotNull(type)> 
357				<dl class="agenda-meta-fields"> 
358						<dt class="date-left-block"><@liferay.language key='Type' /> </dt> 
359						<dd class="date-right-block">${type}</dd> 
360				</dl> 
361			</#if> 
362			 
363			<#if validatorUtil.isNotNull(cost.getData())> 
364				<dl class="agenda-meta-fields"> 
365						<dt class="date-left-block"><@liferay.language key='Kosten' /> </dt> 
366						<dd class="date-right-block">${cost.getData()}</dd> 
367				</dl> 
368			</#if> 
369			<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> 
370				 
371		</div> 
372	 
373	</div> 
374</div> 
375<#if (portletId!="" && !(portletId?contains("JournalContentPortlet_INSTANCE_")))> 
376<#assign portletId = htmlUtil.escape(portletId)> 
377	<#assign containerId = "#portlet_"+portletId /> 
378	<style> 
379		${containerId} header.portlet-topper{ 
380		display:none; 
381
382	</style> 
383</#if>