Veranstaltungen - Hof
Header Veranstaltungen
Lions Club Hof
We serve - wir dienen seit über 60 Jahren in der Region
Veranstaltungen
Veranstaltungen
Asset-Herausgeber
Webcontent, Artikel
The following has evaluated to null or missing: ==> datum [in template "10154#10194#28903743" at line 100, column 50] ---- 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 datumEnde = datum [in template "10154#10194#28903743" at line 100, column 29] ----
1<#-- LR7.2 Version 18.05.2021 Armin J. Gaul -->
2
3<#assign defaultTeilnehmerliste = "Teilnehmer Clubveranstaltungen" />
4
5<#assign datumUeberschrift = "">
6<#assign datumUeberschriftNeu = "">
7
8<style>
9 .attendance-submit-button {
10 width: 2.5em;
11 height: 2.5em;
12 line-height: 2.5em;
13 font-size: 2em;
14 margin: 2px;
15 text-align: center;
16 vertical-align: middle;
17 }
18 .attendance-submit-button.disabled {
19 background-color: lightgrey !important;
20 color: grey;
21 }
22 .attendance-submit-button.green {
23 background-color: lightgreen;
24 }
25 .attendance-submit-button.yellow {
26 background-color: yellow;
27 }
28 .attendance-submit-button.red {
29 background-color: red;
30 }
31</style>
32
33<div class="assets asset-theme-1 lions-events lions-events-list-b-confirm-cancel">
34
35 <#if entries?has_content>
36 <#list entries as entry>
37 <#if entry.getAssetRenderer()?has_content>
38 <#assign
39 entry = entry
40
41 assetRenderer = entry.getAssetRenderer()
42
43 entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale))
44
45 viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent"))
46 />
47 <!-- entry -->
48 <#if entry.getClassNameId() == 10109>
49
50 <#if entry.getAssetRenderer()?? && assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry)?? && saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent())?? >
51 <#assign assetRenderer = entry.getAssetRenderer()?? />
52 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) />
53 <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) />
54
55
56
57
58 <#assign untertitel = docXml.valueOf("//dynamic-element[@name='Untertitel']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
59
60
61
62 <#assign teaser_text = docXml.valueOf("//dynamic-element[@name='Teaser_Text']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
63
64 <#assign nrTeilnehmerliste_Partner = docXml.valueOf("//dynamic-element[@name='Partner']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
65 <#assign nrTeilnehmerliste_Gaeste = docXml.valueOf("//dynamic-element[@name='Gaeste']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
66 <#assign nrTeilnehmerliste_anzEssen = docXml.valueOf("//dynamic-element[@name='anzEssen']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
67 <#assign nrTeilnehmerliste_anzTickets = docXml.valueOf("//dynamic-element[@name='anzTickets']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
68
69
70
71
72
73
74
75
76 <#assign zeitZone = docXml.valueOf("//dynamic-element[@name='ZeitzoneVeranstaltung']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
77
78
79
80
81 <#assign Datumawhc_Data = docXml.valueOf("//dynamic-element[@name='Datumawhc']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
82 <#if validator.isNotNull(Datumawhc_Data)>
83 <#assign Datumawhc_DateObj = dateUtil.parseDate("yyyy-MM-dd", Datumawhc_Data, locale)>
84
85 <#assign datum = dateUtil.getDate(Datumawhc_DateObj, "d. MMM yyyy", locale)>
86 <#assign datumGueltigB = dateUtil.getDate(Datumawhc_DateObj, "yyyy-MM-dd", locale)>
87
88 <#assign datumUeberschriftNeu = dateUtil.getDate(Datumawhc_DateObj, "MMM yyyy", locale)>
89 </#if>
90
91
92 <#assign DatumawhcDatumEnde_Data = docXml.valueOf("//dynamic-element[@name='DatumEnde']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
93 <#if validator.isNotNull(DatumawhcDatumEnde_Data)>
94 <#assign DatumawhcDatumEnde_DateObj = dateUtil.parseDate("yyyy-MM-dd", DatumawhcDatumEnde_Data, locale)>
95
96 <#assign datumEnde = dateUtil.getDate(DatumawhcDatumEnde_DateObj, "d. MMM yyyy", locale)>
97 <#assign datumGueltigE = dateUtil.getDate(DatumawhcDatumEnde_DateObj, "yyyy-MM-dd", locale)>
98
99 <#else>
100 <#assign datumEnde = datum>
101 <#assign datumGueltigE = datumGueltigB>
102 </#if>
103
104
105
106
107 <#assign uhrzeit = docXml.valueOf("//dynamic-element[@name='Uhrzeit']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
108 <#if uhrzeit?length == 1><#assign uhrzeit = "000" + uhrzeit ></#if>
109 <#if uhrzeit?length == 2><#assign uhrzeit = "00" + uhrzeit ></#if>
110 <#if uhrzeit?length == 3><#assign uhrzeit = "0" + uhrzeit ></#if>
111
112
113 <#assign einlass = docXml.valueOf("//dynamic-element[@name='Einlass']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
114 <#if einlass?length == 1><#assign einlass = "000" + einlass ></#if>
115 <#if einlass?length == 2><#assign einlass = "00" + einlass ></#if>
116 <#if einlass?length == 3><#assign einlass = "0" + einlass ></#if>
117
118
119 <#assign ende = docXml.valueOf("//dynamic-element[@name='EndeZeit']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
120 <#if ende?length == 1><#assign ende = "000" + ende ></#if>
121 <#if ende?length == 2><#assign ende = "00" + ende ></#if>
122 <#if ende?length == 3><#assign ende = "0" + ende ></#if>
123
124
125
126
127 <#assign artikel_text = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
128 <#assign bild = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bild']/dynamic-content[@language-id='${locale}']/text()") />
129 <#assign alternativtext_bild = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Alternativtext_Bild']/dynamic-content[@language-id='${locale}']/text()") />
130 <#assign bildtext = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bildtext']/dynamic-content[@language-id='${locale}']/text()") />
131 <#assign bildausrichtung = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bildausrichtung']/dynamic-content[@language-id='${locale}']/text()") />
132 <#assign lightbox_anzeigen = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='lightbox_anzeigen']/dynamic-content[@language-id='${locale}']/text()") />
133
134
135
136
137
138
139 <#if validator.isNotNull(ende)>
140 <#assign gueltigBis = datumGueltigE + " " + ende>
141 <#else>
142 <#assign gueltigBis = datumGueltigE + " 2359">
143 </#if>
144
145
146 <#assign gueltigBis_DateObj = dateUtil.parseDate("yyyy-MM-dd HHmm", gueltigBis, locale)>
147 <#assign gueltigBis_Date = dateUtil.getDate(gueltigBis_DateObj, "yyyy-MM-dd HH:mm:ss", locale)>
148
149 <#setting time_zone = zeitZone >
150 <#setting datetime_format='yyyy-MM-dd HH:mm:ss'>
151 <#assign gueltigBis_Date = gueltigBis_Date?datetime?iso_utc>
152 <#assign vergleichsZeit = .now?datetime?iso_utc>
153
154 <#if vergleichsZeit?date("yyyy-MM-dd'T'HH:mm:ss") <= gueltigBis_Date?date("yyyy-MM-dd'T'HH:mm:ss")>
155 <#assign anzeigen = "ja">
156 <#else>
157 <#assign anzeigen = "nein">
158 </#if>
159
160 <#if anzeigen == "ja">
161
162 <#-- Hier beginnt die Ausgabe des Termininhaltes -->
163
164
165
166 <#if datumUeberschrift != datumUeberschriftNeu>
167 <div class="asset asset_news">
168
169 <div class="asset_text">
170 <#assign datumUeberschrift = datumUeberschriftNeu>
171 <h4 class="asset_headline">${datumUeberschrift}</h4>
172
173 <div class="clear"></div>
174
175 </div>
176 </div>
177
178 </#if>
179
180
181
182
183
184
185
186 <div class="asset asset_news">
187
188
189 <table width = 100%>
190 <tr>
191 <td width = 85%>
192
193
194
195
196 <div class="asset_text">
197
198 <#assign terminZeit = datum>
199 <#if validator.isNotNull(uhrzeit) >
200 <#assign terminZeit = terminZeit + ": " + uhrzeit?substring(0,2) +":"+uhrzeit?substring(2)>
201 </#if>
202 <#if datum != datumEnde || validator.isNotNull(uhrzeit)>
203 <#assign terminZeit = terminZeit + " - ">
204 </#if>
205
206 <#if datum != datumEnde >
207 <#assign terminZeit = terminZeit + datumEnde>
208 </#if>
209
210 <#if datum != datumEnde && validator.isNotNull(ende)>
211 <#assign terminZeit = terminZeit + ": ">
212 </#if>
213
214 <#if validator.isNotNull(ende)>
215 <#assign terminZeit = terminZeit + ende?substring(0,2) +":"+ende?substring(2)>
216 </#if>
217
218
219
220 <h5 class="asset_headline"><b>${terminZeit}</b></h5>
221
222
223 <div class="text"><b>${entry.getTitle(locale)}</b></div>
224
225 <#assign teaser_text_length = teaser_text?length>
226 <#assign artikel_text_length = artikel_text?length>
227 <#assign maxLength = 300>
228
229 <#if teaser_text?has_content>
230 <#if teaser_text_length < maxLength>
231 <p><div class="text">${teaser_text}</div></p>
232 <#else>
233 <div class="text">${teaser_text?substring(0,maxLength-1)}...</div>
234 </#if>
235 <#else>
236 <#if artikel_text_length < maxLength>
237 <div class="text">${artikel_text}</div>
238 <#else>
239 <div class="text">${artikel_text?substring(0,maxLength-1)}...</div>
240 </#if>
241 </#if>
242
243 <#assign viewInContext = false>
244
245 <#if assetLinkBehavior??>
246 <#if assetLinkBehavior == "viewInPortlet">
247 <#assign viewInContext = true>
248 </#if>
249 </#if>
250 ${request.setAttribute("view.jsp-showIconLabel", false)}
251
252 <a class="anc_more" href="${viewURL}"><@liferay.language key="read-more" /></a>
253
254
255
256 </div>
257
258
259 </td>
260
261 <td width = 5% align="center">
262
263 <#-- Hier erfolgt die Ausgabe der Optionen -->
264
265 <#if nrTeilnehmerliste_Partner?? && getterUtil.getBoolean(nrTeilnehmerliste_Partner)>
266 <i class="icon-user"></i><br>
267 </#if>
268
269 <#if nrTeilnehmerliste_Gaeste?? && getterUtil.getBoolean(nrTeilnehmerliste_Gaeste)>
270 <i class="icon-group"><br>
271 </#if>
272
273 <#if nrTeilnehmerliste_anzEssen?? && nrTeilnehmerliste_anzEssen?has_content>
274 <#assign anzEssen = nrTeilnehmerliste_anzEssen?number >
275 <i class="icon-food"><br>
276 </#if>
277
278 <#if nrTeilnehmerliste_anzTickets?? && nrTeilnehmerliste_anzTickets?has_content>
279 <b>#</b><i class="icon-user">
280 </#if>
281 </td>
282
283 <td width = 10%>
284 <#-- Hier erfolgt die Prüfung der Teilnahme -->
285
286 <#-- Record Set auswählen -->
287 <#assign recordSetId = 0 >
288
289 <#-- nur für angemeldete User nach der Teinehmerliste sehen -->
290 <#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()>
291 <#assign themeDisplay = serviceContext.getThemeDisplay() />
292 <#assign is_signed_in = themeDisplay.isSignedIn() />
293 <#if is_signed_in>
294
295 <#assign nrTeilnehmerliste = docXml.valueOf("//dynamic-element[@name='nrTeilnehmerliste']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") />
296
297 <#-- ${nrTeilnehmerliste} -->
298
299 <#if nrTeilnehmerliste?? && nrTeilnehmerliste !="" >
300 <#assign recordSetId = nrTeilnehmerliste?number>
301
302 <#-- Start TEST auf gültige Teilnehmerliste -->
303 <#assign gueltigeRecordSetId = false>
304 <#if recordSetId gt 0>
305 <#assign DDLRecordSetLocalService = serviceLocator.findService("com.liferay.dynamic.data.lists.service.DDLRecordSetLocalService")>
306 <#assign recordSets = DDLRecordSetLocalService.getRecordSets(groupId)>
307 <#list recordSets as cur_recordSet>
308 <#if cur_recordSet.recordSetId == recordSetId>
309 <#assign gueltigeRecordSetId = true>
310 </#if>
311 </#list>
312 <#else>
313 <#assign DDLRecordSetLocalService = serviceLocator.findService("com.liferay.dynamic.data.lists.service.DDLRecordSetLocalService")>
314 <#assign recordSets = DDLRecordSetLocalService.getRecordSets(groupId)>
315 <#list recordSets as cur_recordSet>
316 <#if cur_recordSet.name?trim?last_index_of(defaultTeilnehmerliste) gt 0 >
317 <#assign recordSetId = cur_recordSet.recordSetId >
318 <#assign gueltigeRecordSetId = true>
319 <#-- ${recordSetId} -->
320 </#if>
321 </#list>
322 </#if>
323
324 <#if !gueltigeRecordSetId >
325 <div class="portlet-msg-alert"><h3><b>Konfigurationsfehler!</b></h3><b>
326 Bitte geben Sie eine korrekte Nummer der Teilnehmerliste ein!</b><br>
327 <u>Mögliche Werte sind:</u><br>
328 <#list recordSets as cur_recordSet>
329 ${cur_recordSet.recordSetId}: ${cur_recordSet.name}<br>
330 </#list>
331 sowie<br>
332 0: automatische Auswahl der Liste mit dem Namen "${defaultTeilnehmerliste}"
333 </div>
334 </#if>
335
336
337 <#-- Ende TEST auf gültige Teilnehmerliste -->
338
339
340 </#if>
341
342 </#if>
343
344 <#-- ${recordSetId} -->
345
346 <#if recordSetId != 0>
347
348 <#assign DDLRecordLocalService = serviceLocator.findService("com.liferay.dynamic.data.lists.service.DDLRecordLocalService")>
349 <#assign records = DDLRecordLocalService.getRecords(recordSetId)>
350
351
352 <#-- Eigene Rückmeldung prüfen -->
353
354 <#-- noch ist kein eigener Record gefunden, d.h. ID auf 0 setzen -->
355 <#assign myRecord = 0 >
356
357 <#-- ${entry}
358 ${entryTitle}
359 ${viewURL} -->
360 <#assign articleId = (entry.getAssetRenderer().getArticle().getArticleId()) >
361 <#-- Debug Info
362 ${entry.getAssetRenderer().getArticle().getArticleId()}
363 ${articleId}
364 -->
365
366
367 <#-- prüfen, ob es eine Rückmeldung des angemeldeten Users gibt -->
368 <#if records?has_content>
369
370 <#assign auswahlGetroffen = false >
371 <#list records as cur_record>
372 <#if cur_record.getDDMFormFieldValues("Veranstaltung")?? && (cur_record.getDDMFormFieldValues("Veranstaltung")?first.getValue().getString(locale) == articleId) && (cur_record.userId == user.userId) >
373 <#assign entscheidung = cur_record.getDDMFormFieldValues("Teilnahme")?first.getValue().getString(locale)>
374
375
376 <#assign partnerGastName = "" >
377 <#if cur_record.getDDMFormFieldValues("Name")?? >
378 <#assign partnerGastName = cur_record.getDDMFormFieldValues("Name")?first.getValue().getString(locale)>
379
380 <#-- ${partnerGastName}-->
381 </#if>
382
383 <#-- ${entscheidung} -->
384
385 <a href="${viewURL}#rueckmeldung">
386 <#if partnerGastName == "" >
387 <#if entscheidung == "ja" >
388 <div class="attendance-submit-button green"> <i class="icon-ok"></i></div>
389 <#assign auswahlGetroffen = true >
390 <#elseif entscheidung == "vielleicht" >
391 <div class="attendance-submit-button yellow"> <i class="icon-circle-blank"></i></div>
392 <#assign auswahlGetroffen = true >
393 <#elseif entscheidung == "nein" >
394 <div class="attendance-submit-button red"> <i class="icon-remove"></i></div>
395 <#assign auswahlGetroffen = true >
396 </#if>
397 </#if>
398 </a>
399
400 </#if>
401 </#list>
402
403 <a href="${viewURL}#rueckmeldung">
404 <#if auswahlGetroffen == false >
405 <div class="attendance-submit-button green disabled"><b>?</b></div>
406 </#if>
407 </a>
408
409
410
411 </#if>
412
413 </#if>
414
415
416
417 </td>
418 </tr>
419 </table>
420
421
422 <div class="clear"></div>
423 </div>
424
425
426 <#-- Hier endet die Ausgabe des Termininhaltes -->
427
428
429
430 </#if>
431
432 <#else>
433 <p>This Content produces a bug!!! Please contact the Administrator!</p>
434 </#if>
435 <#else>
436 <#assign assetRenderer = entry.getAssetRenderer() />
437 <#assign entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) />
438 <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) />
439
440 <#if assetLinkBehavior??>
441 <#if assetLinkBehavior != "showFullContent">
442 <#assign viewURL = assetRenderer.getURLViewInContext(renderRequest, renderResponse, viewURL) />
443 </#if>
444 </#if>
445 <div class="asset-abstract">
446
447 <h3 class="asset-title">
448 <a href="${viewURL}"><img alt="" src="${assetRenderer.getIconPath(renderRequest)}" />${entryTitle}</a>
449 </h3>
450
451 <div class="asset-content">
452
453 <div class="asset-summary">
454 ${htmlUtil.escape(assetRenderer.getSummary(locale))}
455
456 <a href="${viewURL}"><@liferay.language key="read-more" /><span class="hide-accessible"><@liferay.language key="about" />${entryTitle}</span> »</a>
457 </div>
458 </div>
459 </div>
460
461 </#if>
462
463
464
465
466 <#else>
467 Asset Renderer is null for ${entry.getTitle(locale)}
468 </#if>
469 </#list>
470 <#else>
471 <p>Sorry, there are no entries to display!</p>
472 </#if>
473</div>
Lions Cookie Disclaimer
Cookie-Einstellungen
Auf unserer Webseite setzen wir Cookies ein, um Informationen über Ihren Besuch zu speichern.
Cookies, darunter die von Drittanbietern, helfen uns, unsere Website zu verbessern, um Ihren Besuch auf unserer Webseite zum einen so komfortabel wie möglich zu gestalten, und zum anderen Ihnen auf Ihre Interessen zugeschnittene Angebote zu unterbreiten.
Detaillierte Informationen zu unserem Einsatz von Cookies erhalten Sie durch einen Klick auf „Details anzeigen“ oder in unserer Datenschutzerklärung – hier geben wir Ihnen auch Hinweise, wie Sie die Einstellungen gemäß Ihren Vorstellungen verwalten können. Unsere Kontaktdaten finden Sie im Impressum.
Notwendig
Diese Cookies sind für den Betrieb der Seite unbedingt notwendig.
Externe Inhalte
Diese Option ermöglicht es Ihnen, extern eingebundene Inhalte z.B. von Youtube unmittelbar abrufen zu können.