Gewinnliste Adventskalender 2023

Fehler bei der Verarbeitung der Vorlage.
The string doesn't match the expected date/time/date-time format. The string to parse was: "". The expected format was: "dd.MM.y".
The nested reason given follows:
Unparseable date: ""

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign gewinnDatum = cellValue?trim?...  [in template "10154#10194#50250808" at line 99, column 21]
----
1<#-- -------------------------------------------------------------------- --> 
2 
3<#-- Diese Funktion dient dazu eine Gewinliste für einen                  --> 
4<#-- Adventskalender zu veröffentlichen                                   --> 
5<#-- Sie gibt eine im Feld Gewinnzahlen als "/t" sepatierte Liste         --> 
6<#-- als Tabelle aus, wobei Zeieln, in denen im ersten Element ein        --> 
7<#-- in der Zukunft liegendes Datum steht nut angezeigt werden.           --> 
8<#-- Zählfehler der Treffer korrigiert                                    --> 
9<#-- 01.12.2020 Armin J. Gaul                                             --> 
10 
11<#-- -------------------------------------------------------------------- --> 
12 
13 
14<#setting locale="de_DE"> 
15<#setting time_zone="Europe/Berlin"> 
16 
17<#assign 
18    httpComponentsUtil = staticUtil["com.liferay.portal.kernel.util.HttpComponentsUtil"] 
19    vergleichsDatum = .now?datetime 
20    gewinnTabelle = Gewinnzahlen.getData() 
21    url= themeDisplay.getURLCurrent() 
22    basisurl= themeDisplay.getURLCurrent()?keep_before("?") 
23 
24    suche = false 
25    quotation = false 
26    suchstring = httpComponentsUtil.getParameter(url, "search", false) 
27 
28    <#-- START übergebenes Datum nutzen --> 
29    anzahlTreffer = 0 
30    anzeigedatumtext = httpComponentsUtil.getParameter(url, "date", false) 
31/> 
32 
33<#if anzeigedatumtext?? && anzeigedatumtext?matches('\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d') > 
34    <#assign anzeigedatum = anzeigedatumtext?date> 
35</#if> 
36<#if anzeigedatumtext?? && anzeigedatumtext == "today"> 
37    <#assign anzeigedatum = .now?date> 
38</#if> 
39<#if ZeitversatzVeröffentlichung?? > 
40    <#assign stundenOffset = ZeitversatzVeröffentlichung.getData() > 
41<#else> 
42    <#assign stundenOffset = 0 > 
43</#if> 
44<#-- ENDE übergebenes Datum nutzen --> 
45 
46 
47<div class="article article_main"> 
48    <div class="article_headline"> 
49        <h2 id="tablestart"> 
50            ${.vars['reserved-article-title'].data} 
51        </h2> 
52    </div> 
53 
54    <p style="text-align: right;"><input id="neuerSuchstring" value="${suchstring}" placeholder="Gewinn suchen..." type="search"></p> 
55 
56 
57    <#if suchstring != "" > 
58        <#assign suche = true > 
59        <p>Suchergebnis f&uuml;r Suchbegriff "${suchstring}"</p> 
60    </#if> 
61 
62    <table width="100%" border="1" cellpadding="5" cellspacing="0"> 
63        <#list gewinnTabelle?split("\n") as lineValue> 
64 
65 
66 
67            <#if !quotation> 
68                <#assign 
69                    istDatum = false 
70                    treffer = false 
71                    lineText="<tr>" 
72                /> 
73            </#if> 
74 
75            <#list lineValue?split("\t") as cellValue> 
76 
77                <#list cellValue?replace("\"","")?split(",") as testWert > 
78                    <#attempt> 
79                        <#if testWert?trim != "" && testWert?trim?replace(suchstring,"","r") == "" > 
80                            <#assign treffer = true > 
81                        </#if> 
82                        <#recover> 
83                    </#attempt> 
84                </#list> 
85 
86                <#if cellValue?index == 0 && !quotation> 
87                    <#if cellValue?trim?replace("\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d","","r") == ""  > 
88                        <#assign istDatum = true> 
89                    <#else> 
90                    <#-- Überschrift --> 
91                        <#assign anzeigen = true > 
92                        <#assign treffer = true > 
93                    </#if> 
94                </#if> 
95 
96                <#if (cellValue?index == 0) && istDatum && !quotation> 
97 
98 
99                    <#assign gewinnDatum = cellValue?trim?date + ', ${stundenOffset}:01:00'> 
100                    <#assign lineText=lineText+"<td>"+gewinnDatum?date+"</td>" > 
101                    <#assign anzeigen = (gewinnDatum?datetime?iso_utc?date("yyyy-MM-dd'T'HH:mm:ss") <= vergleichsDatum?datetime?iso_utc?date("yyyy-MM-dd'T'HH:mm:ss")) > 
102 
103                    <#if anzeigedatum?? && !anzeigedatum?date?matches(gewinnDatum?date)> 
104                        <#assign anzeigen = false > 
105                    </#if> 
106 
107 
108                <#else> 
109 
110                    <#if !quotation> 
111                        <#assign lineText=lineText+"<td>"> 
112                    </#if> 
113 
114                    <#if !istDatum && !quotation> 
115                        <#assign lineText=lineText+"<b>"+cellValue?replace("\"\"","&quot;")?replace("\"","")?trim+"</b>"> 
116                    <#else> 
117                        <#assign lineText=lineText+cellValue?replace("\"\"","&quot;")?replace("\"","")?trim> 
118                    </#if> 
119 
120 
121                <#-- 
122                <#if cellValue?contains("\"") > 
123                    <#if !quotation> 
124                        <#assign quotation=true > 
125                    <#else> 
126                        <#assign quotation=false > 
127                    </#if> 
128                </#if> 
129                --> 
130 
131                    <#if cellValue?replace("\"\"","")?starts_with("\"") && !quotation > 
132                        <#assign quotation=true > 
133                    </#if> 
134 
135                    <#if cellValue?replace("\"\"","")?ends_with("\"") && quotation > 
136                        <#assign quotation=false > 
137                    </#if> 
138 
139 
140                    <#if !quotation> 
141                        <#assign lineText=lineText+"</td>"> 
142                    </#if> 
143 
144 
145 
146                </#if> 
147            </#list> 
148 
149            <#if !quotation> 
150                <#assign lineText=lineText+"</tr>"> 
151            <#else> 
152                <#assign lineText=lineText+"<br>"> 
153            </#if> 
154 
155            <#if anzeigen && (!suche || treffer) && !quotation> 
156                ${lineText} 
157                <#if istDatum> 
158                    <#assign anzahlTreffer = anzahlTreffer + 1 > 
159                </#if> 
160            </#if> 
161        </#list> 
162    </table> 
163 
164    <#if anzahlTreffer == 0 > 
165        <#if !suche> 
166            <div class="portlet-msg-alert"><h1>Aktuell sind zu diesem Datum noch keine Gewinne ver&ouml;ffentlicht, 
167                    weshalb wir Sie noch um ein wenig Geduld bitten. Vielen Dank!</h1></div> 
168        <#else> 
169            <div class="portlet-msg-alert"><h1>Aktuell sind zu dieser Suche keine Gewinne ver&ouml;ffentlicht.</h1> 
170            </div> 
171        </#if> 
172    </#if> 
173 
174</div> 
175<p> 
176</p> 
177<script> 
178  document.getElementById("neuerSuchstring") 
179    .addEventListener("keyup", function (event) { 
180      event.preventDefault(); 
181      if (event.keyCode === 13) { 
182        doSearch(); 
183
184    }); 
185 
186  function doSearch() { 
187    str = document.getElementById("neuerSuchstring").value; 
188    window.location.replace("${basisurl}" + "?search=" + str + "#tablestart"); 
189
190 
191</script>