angle-left Satutunnit Haapaveden kirjastossa
Virhe tapahtui prosessoidessa esitysmallia.
Can't compare values of these types. Allowed comparisons are between two numbers, two strings, two dates, or two booleans.
Left hand operand is a string (wrapper: f.t.SimpleScalar).
Right hand operand is a number (wrapper: f.t.SimpleNumber).
The blamed expression:
==> eventEndDate_Data gt 0  [in template "180920#180959#223241" at line 79, column 22]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if eventEndDate_Data gt 0  [in template "180920#180959#223241" at line 79, column 17]
----
1<#macro getLocalization id> 
2    <#if locale == "fi_FI"> 
3        <#if id == "event_location"> 
4            Paikka 
5        <#elseif id == "event_address"> 
6            Osoite 
7        <#elseif id == "event_start_time"> 
8            Päivä 
9        <#elseif id == "event_end_time"> 
10            Lopetuspäivämäärä 
11        <#elseif id == "event_day"> 
12            Päivä 
13        <#elseif id == "event_time"> 
14            Aika 
15        </#if> 
16    <#elseif locale == "sv_SE"> 
17        <#if id == "event_location"> 
18            Place 
19        <#elseif id == "event_address"> 
20            Address 
21        <#elseif id == "event_start_time"> 
22            Date 
23        <#elseif id == "event_end_time"> 
24            End date 
25        <#elseif id == "event_day"> 
26            Date 
27        <#elseif id == "event_time"> 
28            Time 
29        </#if> 
30    <#elseif locale == "en_GB"> 
31        <#if id == "event_location"> 
32            Place 
33        <#elseif id == "event_address"> 
34            Address 
35        <#elseif id == "event_start_time"> 
36            Date 
37        <#elseif id == "event_end_time"> 
38            End date 
39        <#elseif id == "event_day"> 
40            Date 
41        <#elseif id == "event_time"> 
42            Time 
43        </#if> 
44    <#else> 
45        <#if id == "event_location"> 
46            Place 
47        <#elseif id == "event_address"> 
48            Address 
49        <#elseif id == "event_start_time"> 
50            Start date 
51        <#elseif id == "event_end_time"> 
52            End date 
53        <#elseif id == "event_day"> 
54            Date 
55        <#elseif id == "event_time"> 
56            Time 
57        </#if> 
58    </#if> 
59</#macro> 
60 
61<article class="eventArticle"> 
62     
63    <div class="eventDate row"><#assign eventDate_Data = getterUtil.getString(eventDate.getData()) /> 
64 
65        <#if validator.isNotNull(eventDate_Data)> 
66            <#assign eventDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", eventDate_Data, locale) /> 
67            <#if showEventLength?? && getterUtil.getBoolean(showEventLength.getData()!) == true> 
68                <div class="col-sm-6"> 
69            <#else> 
70                <div class="col-sm-12"> 
71            </#if> 
72                 
73                <#assign eventEndDate_Data = getterUtil.getString(eventEndDate.getData()) /> 
74                 
75                 
76                <div class="date"> 
77                    <span class="start-time"><@getLocalization id="event_start_time" /> <i class="icon-calendar"></i>: ${dateUtil.getDate(eventDate_DateObj, "EE dd.MM.yyyy", locale)} </span> 
78                 
79                <#if eventEndDate_Data gt 0 > 
80                <#assign eventEndDate_DateObj = dateUtil.parseDate("yyyy-MM-dd", eventEndDate_Data, locale) /> 
81                    <span class="end-time"> 
82                        - ${dateUtil.getDate(eventEndDate_DateObj, "EE dd.MM.yyyy", locale)} 
83                    </span> 
84                </#if> 
85                </div> 
86                <div class="time"> 
87                    <@getLocalization id="event_time" /> <i class="icon-time"></i>: ${eventTime.getData()} 
88                </div> 
89                 
90            </div> 
91            <#if showEventLength?? && getterUtil.getBoolean(showEventLength.getData()) == true> 
92            <div class="col-sm-6"> 
93                <div class="event-interval-description"> 
94                </div> 
95                <script type="text/javascript"> 
96                    YUI().ready("node", function(Y) { 
97                        var plugin = window.axiell.plugin("CalendarEvent", { 
98                            localizations : { 
99                              "en_GB" : { 
100                                  "event_past" : "Event was %s days ago.", 
101                                  "event_yesterday" : "Event was yesterday.", 
102                                  "event_today": "Event is today.", 
103                                  "event_tomorrow" : "Event is tomorrow.", 
104                                  "event_future": "Event is %s days from now.", 
105                                  "event_multipledays_past" : "Event started %s days ago.", 
106                                  "event_multipledays_yesterday" : "Event started yesterday.", 
107                                  "event_multipledays_today": "Event is today.", 
108                                  "event_multipledays_tomorrow" : "Event starts tomorrow.", 
109                                  "event_multipledays_future": "Event starts %s days from now.", 
110                                  "event_multipledays_end_past" : "Event ended %s days ago.", 
111                                  "event_multipledays_end_yesterday" : "Event ended yesterday.", 
112                                  "event_multipledays_end_today": "Event ends today.", 
113                                  "event_multipledays_end_tomorrow" : "Event ends tomorrow.", 
114                                  "event_multipledays_end_future": "Event ends %s days from now.", 
115                                  "event_multipledays_length" : "Event length: %s days" 
116                              }, 
117                              "fi_FI" : { 
118                                  "event_past" : "Tapahtuma oli %s päivää sitten.", 
119                                  "event_yesterday" : "Tapahtuma oli eilen.", 
120                                  "event_today": "Tapahtuma on tänään.", 
121                                  "event_tomorrow" : "Tapahtuma on huomenna.", 
122                                  "event_future": "Tapahtuma on %s päivän päästä.", 
123                                  "event_multipledays_past" : "Tapahtuma alkoi %s päivää sitten.", 
124                                  "event_multipledays_yesterday" : "Tapahtuma alkoi eilen.", 
125                                  "event_multipledays_today": "Tapahtuma alkaa tänään.", 
126                                  "event_multipledays_tomorrow" : "Tapahtuma alkaa huomenna.", 
127                                  "event_multipledays_future": "Tapahtuma alkaa %s päivän päästä.", 
128                                  "event_multipledays_end_past" : "Tapahtuma loppui %s päivää sitten.", 
129                                  "event_multipledays_end_yesterday" : "Tapahtuma loppui eilen.", 
130                                  "event_multipledays_end_today": "Tapahtuma loppuu tänään.", 
131                                  "event_multipledays_end_tomorrow" : "Tapahtuma loppuu huomenna.", 
132                                  "event_multipledays_end_future": "Tapahtuma loppuu %s päivän päästä.", 
133                                  "event_multipledays_length" : "Tapahtuman kesto: %s päivää." 
134
135
136                        }); 
137                        var eventStartDate = new Date(${eventDate_Data}); 
138                        var eventEndDate = null; 
139                        <#if eventEndDate??> 
140                        eventEndDate = ${getterUtil.getLong(eventEndDate.getData())}; 
141                        </#if> 
142                        if(eventEndDate) eventEndDate = new Date(eventEndDate); 
143                        var nowDate = new Date(); 
144                        var interval = eventStartDate.getTime() - nowDate.getTime(); 
145                        interval = interval / (1000*3600*24); 
146                        interval = Math.floor(interval); 
147                        var container = Y.one(".event-interval-description"); 
148                        if(!eventEndDate) { 
149                            if(interval < -1) { 
150                                //Event was x days ago 
151                                container.append('<div class="single-day-event">'+window.axiell.getLocalization("CalendarEvent", "event_past", (interval*-1))+'</div>'); 
152
153                            else if(interval == -1) { 
154                                //Event was yesterday 
155                                container.append('<div class="single-day-event">'+window.axiell.getLocalization("CalendarEvent", "event_yesterday")+'</div>'); 
156
157                            else if(interval == 0 && eventStartDate.getDate() == nowDate.getTime() ) { 
158                                //Event is today 
159                                container.append('<div class="single-day-event">'+window.axiell.getLocalization("CalendarEvent", "event_today")+'</div>'); 
160
161                            else if(interval == 1 || (interval == 0 && eventStartDate.getDate() != nowDate.getTime() ) ) { 
162                                //Event is tomorrow 
163                                container.append('<div class="single-day-event">'+window.axiell.getLocalization("CalendarEvent", "event_tomorrow")+'</div>'); 
164
165                            else if(interval > 1) { 
166                                //Event is x days in the future 
167                                container.append('<div class="single-day-event">'+window.axiell.getLocalization("CalendarEvent", "event_future", interval)+'</div>'); 
168
169
170                        else { 
171                            var endInterval = eventEndDate.getTime() - nowDate.getTime(); 
172                            endInterval = endInterval / (1000*3600*24); 
173                            endInterval = Math.floor(endInterval); 
174                             
175                            var eventLength = eventEndDate.getTime() - eventStartDate.getTime(); 
176                            eventLength = Math.floor(eventLength / (1000*3600*24)); 
177                            eventLength++; 
178                            //Process start times 
179                            if(interval < -1) { 
180                                //Event was x days ago 
181                                container.append('<div class="multi-day-event-start">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_past", (interval*-1))+'</div>'); 
182
183                            else if(interval == -1) { 
184                                //Event was yesterday 
185                                container.append('<div class="multi-day-event-start">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_yesterday")+'</div>'); 
186
187                            else if(interval == 0) { 
188                                //Event is today 
189                                container.append('<div class="multi-day-event-start">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_today")+'</div>'); 
190
191                            else if(interval == 1) { 
192                                //Event is tomorrow 
193                                container.append('<div class="multi-day-event-start">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_tomorrow")+'</div>'); 
194
195                            else if(interval > 1) { 
196                                //Event is x days in the future 
197                                container.append('<div class="multi-day-event-start">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_future", interval)); 
198
199                            //Process end times 
200                            if(endInterval < -1) { 
201                                //Event was x days ago 
202                                container.append('<div class="multi-day-event-end">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_end_past", ((endInterval*-1)))+'</div>'); 
203
204                            else if(endInterval == -1) { 
205                                //Event was yesterday 
206                                container.append('<div class="multi-day-event-end">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_end_yesterday")+'</div>'); 
207
208                            else if(endInterval == 0) { 
209                                //Event is today 
210                                container.append('<div class="multi-day-event-end">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_end_today")+'</div>'); 
211
212                            else if(endInterval == 1) { 
213                                //Event is tomorrow 
214                                container.append('<div class="multi-day-event-end">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_end_tomorrow")+'</div>'); 
215
216                            else if(endInterval > 1) { 
217                                //Event is x days in the future 
218                                container.append('<div class="multi-day-event-end">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_end_future", endInterval)+'</div>'); 
219
220                            if(eventLength > 1) { 
221                                container.append('<div class="multi-day-event-length">'+window.axiell.getLocalization("CalendarEvent", "event_multipledays_length", eventLength)+'</div>'); 
222
223
224                    }); 
225                </script> 
226            </div> 
227            </#if> 
228        </#if> 
229    </div> 
230    <div class="location"> 
231        <@getLocalization id="event_location" /> <i class="icon-home"></i>: ${eventLocation.getData()} 
232    </div> 
233    <div class="address"> 
234        <@getLocalization id="event_address" /> <i class="icon-envelope"></i>: ${locationAddress.getData()} 
235    </div> 
236    <#if getterUtil.getBoolean(showIngressInFullArticle.getData())> 
237        <div class="ingress-container"> 
238            <p class="ingress-text">${ingress.getData()}</p> 
239        </div> 
240    </#if> 
241    <div class="image-container"> 
242     
243        <#if documentsAndMediaImage?? && documentsAndMediaImage.getData() != ""> 
244            <img class="news-image" alt="" src="${documentsAndMediaImage.getData()}"> 
245        <#elseif imageLink.getData() != ""> 
246            <img class="news-image" alt="" src="${imageLink.getData()}" /> 
247        <#elseif image.getData() != ""> 
248            <img class="news-image" alt="" src="${image.getData()}" /> 
249        </#if> 
250         
251    </div> 
252     
253 
254    <div class="news-text"> 
255        ${newsText.getData()} 
256    </div> 
257 
258</article>