Agenda
Familiezorgavond, thema: Liefdevol begrenzen
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>