eventIds[entry.id] = 1;\r
} \r
\r
+ // skip events for the first panel in case this is the second one\r
if (panelNum == 1 && counter < eventsPerWidget + 1)\r
continue;\r
\r
\r
// Convert date/time string to Date object\r
var date = parseDate(entryDate);\r
- console.info(date);\r
+ console.info('date: ' + date);\r
+ var endDate = ((entryEndTime == null) ? null : parseDate(entryEndTime));\r
+ console.info('endDate: ' + endDate);\r
\r
- // check if event has already passed\r
- if (entry.Type == 'Meeting' || entry.Type == 'Reminder'){\r
- if (entryEndTime == null){\r
- if (now.getTime() > date.getTime()){\r
- counter--;\r
- continue;\r
- }\r
- }else if (entryEndTime != null){\r
- var endDate = parseDate(entryEndTime);\r
- if (now.getTime() > endDate.getTime()){\r
- counter--;\r
- continue;\r
- }\r
+ // check if meeting event has already passed\r
+ if (entry.Type == 'Meeting'){\r
+ var compareTime = ((endDate == null) ? date.getTime() : endDate.getTime());\r
+ if (now.getTime() > compareTime){\r
+ console.info('skipped (already passed) ' + entry.id);\r
+ counter--;\r
+ continue;\r
}\r
}\r
\r
+ // fix DayEvents end time. A bug in WRT causes end times to be off by +12 hours. It's possible that the event has already passed\r
+ if (entry.Type == 'DayEvent' && endDate != null){\r
+ endDate.setHours(endDate.getHours() - 12);\r
+ endDate.setMinutes(endDate.getMinutes() - 1);\r
+ console.info('fixing DayEvent endDate: ' + endDate);\r
+ if (now.getTime() > endDate.getTime()){\r
+ console.info('event already passed');\r
+ counter--;\r
+ continue; \r
+ }\r
+ }\r
+\r
// check if the event is currently taking place\r
- if (entryStartTime != null && entryEndTime != null && date != null)\r
+ if (entryStartTime != null && entryEndTime != null && date != null && endDate != null)\r
{\r
// check if we are between start and endtime\r
- var endDate = parseDate(entryEndTime);\r
- if (endDate != null && (date.getTime() < now.getTime()) && (now.getTime() < endDate.getTime()))\r
+ if ((date.getTime() < now.getTime()) && (now.getTime() < endDate.getTime())) {\r
date = now; // change appointment date/time to now\r
+ console.info('event is currently taking place: ' + date);\r
+ }\r
}\r
\r
// generate html output\r