From 2b5e7a68d75f8f24ec365a925b602bbfbdcfe585 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 12 Feb 2020 11:35:56 -0500 Subject: [PATCH] chore(tool): check for missing start/end dates in events --- Tools/SOGoToolCheckupUser.m | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/Tools/SOGoToolCheckupUser.m b/Tools/SOGoToolCheckupUser.m index b3d935be1..27128a0bd 100644 --- a/Tools/SOGoToolCheckupUser.m +++ b/Tools/SOGoToolCheckupUser.m @@ -36,6 +36,8 @@ #import #import +#import +#import #import #import "SOGoTool.h" @@ -248,6 +250,33 @@ [gcsFolder deleteContentWithName: c_name]; rc = NO; } + else + { + iCalEvent *event; + + event = (iCalEvent *) [calendar firstChildWithTag: @"vevent"]; + if (event) + { + iCalDateTime *date; + + date = (iCalDateTime *) [event uniqueChildWithTag: @"dtstart"]; + if (![date dateTime]) + { + NSLog(@"Missing start date of event in path %@ with c_name = %@ (%@)", folder, c_name, [event summary]); + if (delete) + [gcsFolder deleteContentWithName: c_name]; + rc = NO; + } + date = (iCalDateTime *) [event uniqueChildWithTag: @"dtend"]; + if (![date dateTime] && ![event hasDuration]) + { + NSLog(@"Missing end date of event in path %@ with c_name = %@ (%@)", folder, c_name, [event summary]); + if (delete) + [gcsFolder deleteContentWithName: c_name]; + rc = NO; + } + } + } } } else