Agenda
Anders Bekeken Zuidwal Open Tijdens Het Landelijk Open Atelier Weekend
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 + "×lot=" + 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>