fix(caldav): add Z suffix to dates make it clear dates are in UTC

This commit is contained in:
kolaente 2022-12-04 21:00:37 +01:00
parent 1cfdb085e5
commit f93317bf5d
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 34 additions and 35 deletions

View File

@ -22,7 +22,6 @@ import (
"strings" "strings"
"time" "time"
"code.vikunja.io/api/pkg/config"
"code.vikunja.io/api/pkg/user" "code.vikunja.io/api/pkg/user"
"code.vikunja.io/api/pkg/utils" "code.vikunja.io/api/pkg/utils"
) )
@ -240,7 +239,7 @@ END:VCALENDAR` // Need a line break
} }
func makeCalDavTimeFromTimeStamp(ts time.Time) (caldavtime string) { func makeCalDavTimeFromTimeStamp(ts time.Time) (caldavtime string) {
return ts.In(config.GetTimeZone()).Format(DateFormat) return ts.In(time.UTC).Format(DateFormat) + "Z"
} }
func calcAlarmDateFromReminder(eventStart, reminder time.Time) (alarmTime string) { func calcAlarmDateFromReminder(eventStart, reminder time.Time) (alarmTime string) {

View File

@ -84,25 +84,25 @@ X-APPLE-CALENDAR-COLOR:#affffeFF
X-OUTLOOK-COLOR:#affffeFF X-OUTLOOK-COLOR:#affffeFF
X-FUNAMBOL-COLOR:#affffeFF X-FUNAMBOL-COLOR:#affffeFF
DESCRIPTION:Lorem Ipsum DESCRIPTION:Lorem Ipsum
DTSTAMP:20181201T011204 DTSTAMP:20181201T011204Z
DTSTART:20181201T011204 DTSTART:20181201T011204Z
DTEND:20181201T013024 DTEND:20181201T013024Z
END:VEVENT END:VEVENT
BEGIN:VEVENT BEGIN:VEVENT
UID:randommduidd UID:randommduidd
SUMMARY:Event #2 SUMMARY:Event #2
DESCRIPTION: DESCRIPTION:
DTSTAMP:20181202T045844 DTSTAMP:20181202T045844Z
DTSTART:20181202T045844 DTSTART:20181202T045844Z
DTEND:20181202T081844 DTEND:20181202T081844Z
END:VEVENT END:VEVENT
BEGIN:VEVENT BEGIN:VEVENT
UID:20181202T0600242aaef4a81d770c1e775e26bc5abebc87f1d3d7bffaa83 UID:20181202T0600242aaef4a81d770c1e775e26bc5abebc87f1d3d7bffaa83
SUMMARY:Event #3 with empty uid SUMMARY:Event #3 with empty uid
DESCRIPTION: DESCRIPTION:
DTSTAMP:20181202T050024 DTSTAMP:20181202T050024Z
DTSTART:20181202T050024 DTSTART:20181202T050024Z
DTEND:20181202T050320 DTEND:20181202T050320Z
END:VEVENT END:VEVENT
END:VCALENDAR`, END:VCALENDAR`,
}, },
@ -169,9 +169,9 @@ BEGIN:VEVENT
UID:randommduid UID:randommduid
SUMMARY:Event #1 SUMMARY:Event #1
DESCRIPTION:Lorem Ipsum DESCRIPTION:Lorem Ipsum
DTSTAMP:20181201T011204 DTSTAMP:20181201T011204Z
DTSTART:20181201T011204 DTSTART:20181201T011204Z
DTEND:20181201T013024 DTEND:20181201T013024Z
BEGIN:VALARM BEGIN:VALARM
TRIGGER:-PT3M20S TRIGGER:-PT3M20S
ACTION:DISPLAY ACTION:DISPLAY
@ -192,9 +192,9 @@ BEGIN:VEVENT
UID:randommduidd UID:randommduidd
SUMMARY:Event #2 SUMMARY:Event #2
DESCRIPTION: DESCRIPTION:
DTSTAMP:20181202T045844 DTSTAMP:20181202T045844Z
DTSTART:20181202T045844 DTSTART:20181202T045844Z
DTEND:20181202T081844 DTEND:20181202T081844Z
BEGIN:VALARM BEGIN:VALARM
TRIGGER:-PT27H50M0S TRIGGER:-PT27H50M0S
ACTION:DISPLAY ACTION:DISPLAY
@ -212,12 +212,12 @@ DESCRIPTION:Event #2
END:VALARM END:VALARM
END:VEVENT END:VEVENT
BEGIN:VEVENT BEGIN:VEVENT
UID:20181202T0500242aaef4a81d770c1e775e26bc5abebc87f1d3d7bffaa83 UID:20181202T050024Z2aaef4a81d770c1e775e26bc5abebc87f1d3d7bffaa83
SUMMARY:Event #3 with empty uid SUMMARY:Event #3 with empty uid
DESCRIPTION: DESCRIPTION:
DTSTAMP:20181202T050024 DTSTAMP:20181202T050024Z
DTSTART:20181202T050024 DTSTART:20181202T050024Z
DTEND:20181202T050320 DTEND:20181202T050320Z
BEGIN:VALARM BEGIN:VALARM
TRIGGER:-PT27H51M40S TRIGGER:-PT27H51M40S
ACTION:DISPLAY ACTION:DISPLAY
@ -240,12 +240,12 @@ DESCRIPTION:Event #3 with empty uid
END:VALARM END:VALARM
END:VEVENT END:VEVENT
BEGIN:VEVENT BEGIN:VEVENT
UID:20181202T050024ae7548ce9556df85038abe90dc674d4741a61ce74d1cf UID:20181202T050024Zae7548ce9556df85038abe90dc674d4741a61ce74d1cf
SUMMARY:Event #4 without any SUMMARY:Event #4 without any
DESCRIPTION: DESCRIPTION:
DTSTAMP:20181202T050024 DTSTAMP:20181202T050024Z
DTSTART:20181202T050024 DTSTART:20181202T050024Z
DTEND:20181202T050320 DTEND:20181202T050320Z
END:VEVENT END:VEVENT
END:VCALENDAR`, END:VCALENDAR`,
}, },
@ -278,9 +278,9 @@ BEGIN:VEVENT
UID:randommduid UID:randommduid
SUMMARY:Event #1 SUMMARY:Event #1
DESCRIPTION:Lorem Ipsum\nDolor sit amet DESCRIPTION:Lorem Ipsum\nDolor sit amet
DTSTAMP:20181201T011204 DTSTAMP:20181201T011204Z
DTSTART:20181201T011204 DTSTART:20181201T011204Z
DTEND:20181201T013024 DTEND:20181201T013024Z
END:VEVENT END:VEVENT
END:VCALENDAR`, END:VCALENDAR`,
}, },
@ -333,13 +333,13 @@ X-OUTLOOK-COLOR:#ffffffFF
X-FUNAMBOL-COLOR:#ffffffFF X-FUNAMBOL-COLOR:#ffffffFF
BEGIN:VTODO BEGIN:VTODO
UID:randommduid UID:randommduid
DTSTAMP:20181201T011204 DTSTAMP:20181201T011204Z
SUMMARY:Todo #1 SUMMARY:Todo #1
X-APPLE-CALENDAR-COLOR:#affffeFF X-APPLE-CALENDAR-COLOR:#affffeFF
X-OUTLOOK-COLOR:#affffeFF X-OUTLOOK-COLOR:#affffeFF
X-FUNAMBOL-COLOR:#affffeFF X-FUNAMBOL-COLOR:#affffeFF
DESCRIPTION:Lorem Ipsum\nDolor sit amet DESCRIPTION:Lorem Ipsum\nDolor sit amet
LAST-MODIFIED:00010101T000000 LAST-MODIFIED:00010101T000000Z
END:VTODO END:VTODO
END:VCALENDAR`, END:VCALENDAR`,
}, },
@ -368,12 +368,12 @@ X-WR-CALNAME:test
PRODID:-//RandomProdID which is not random//EN PRODID:-//RandomProdID which is not random//EN
BEGIN:VTODO BEGIN:VTODO
UID:randommduid UID:randommduid
DTSTAMP:20181201T011204 DTSTAMP:20181201T011204Z
SUMMARY:Todo #1 SUMMARY:Todo #1
DESCRIPTION:Lorem Ipsum DESCRIPTION:Lorem Ipsum
COMPLETED:20181201T013024 COMPLETED:20181201T013024Z
STATUS:COMPLETED STATUS:COMPLETED
LAST-MODIFIED:00010101T000000 LAST-MODIFIED:00010101T000000Z
END:VTODO END:VTODO
END:VCALENDAR`, END:VCALENDAR`,
}, },
@ -402,11 +402,11 @@ X-WR-CALNAME:test
PRODID:-//RandomProdID which is not random//EN PRODID:-//RandomProdID which is not random//EN
BEGIN:VTODO BEGIN:VTODO
UID:randommduid UID:randommduid
DTSTAMP:20181201T011204 DTSTAMP:20181201T011204Z
SUMMARY:Todo #1 SUMMARY:Todo #1
DESCRIPTION:Lorem Ipsum DESCRIPTION:Lorem Ipsum
PRIORITY:9 PRIORITY:9
LAST-MODIFIED:00010101T000000 LAST-MODIFIED:00010101T000000Z
END:VTODO END:VTODO
END:VCALENDAR`, END:VCALENDAR`,
}, },