Page MenuHomePhorge

Invitationpolicy: Windows time zones are wrongly converted to UTC
Closed, ResolvedPublic

Description

When wallace is configured to accept invitations and iTip with non-Olson formatted timezone comes to the system, the event start/end time will be converted to UTC without time modification. Example:

BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 9.0.1//EN_S
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:W. Europe Standard Time
BEGIN:STANDARD
DTSTART:19501029T020000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500326T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="W. Europe Standard Time":20160831T113000
DTEND;TZID="W. Europe Standard Time":20160831T140000
...

This does not happen when importing such event in Roundcube, because Sabre libs support windows timezone mapping. This is not the case for pykolab. We should support windows timezones and convert them to Olson-database names.

Details

Ticket Type
Task

Event Timeline

From what I see iTip attachments are parsed using iCalendar. From what I see we could fix this issue by using kolab.calendaring instead. This is quite a big change, but I'm working on this, I've got a few unit tests failing. If there was any reason to not use kolab.calendaring please speak now.

I think I know why we don't use kolab.calendaring to parse iTip data. It's because it does not support VTODO. Grrrr... Lets start from the beginning...

Differential created. Note that python-tzlocal need to be added as a pykolab dependency.