Merge pull request #194 from zentyal/ejhernandez/skip-recurrence-id-without-dtstart

Ignore recurrence-id vevents without dtstart and outside date range
This commit is contained in:
Carlos Pérez-Aradros Herce 2015-10-07 17:49:56 +02:00
commit fb7e044bd3

View file

@ -1008,7 +1008,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
{ {
if ([dateRange containsDate: [component startDate]]) if ([dateRange containsDate: [component startDate]])
{ {
// We must pass nill to :container here in order to avoid re-entrancy issues. // We must pass nil to :container here in order to avoid re-entrancy issues.
newRecord = [self _fixupRecord: [component quickRecordFromContent: nil container: nil]]; newRecord = [self _fixupRecord: [component quickRecordFromContent: nil container: nil]];
[ma replaceObjectAtIndex: recordIndex withObject: newRecord]; [ma replaceObjectAtIndex: recordIndex withObject: newRecord];
} }
@ -1025,15 +1025,20 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
{ {
// The recurrence id of the exception is outside the date range; // The recurrence id of the exception is outside the date range;
// simply add the exception to the records array. // simply add the exception to the records array.
// We must pass nill to :container here in order to avoid re-entrancy issues. // We must pass nil to :container here in order to avoid re-entrancy issues.
newRecord = [self _fixupRecord: [component quickRecordFromContent: nil container: nil]]; newRecord = [self _fixupRecord: [component quickRecordFromContent: nil container: nil]];
newRecordRange = [NGCalendarDateRange if ([newRecord objectForKey: @"startDate"] && [newRecord objectForKey: @"endDate"]) {
calendarDateRangeWithStartDate: [newRecord objectForKey: @"startDate"] newRecordRange = [NGCalendarDateRange
endDate: [newRecord objectForKey: @"endDate"]]; calendarDateRangeWithStartDate: [newRecord objectForKey: @"startDate"]
if ([dateRange doesIntersectWithDateRange: newRecordRange]) endDate: [newRecord objectForKey: @"endDate"]];
if ([dateRange doesIntersectWithDateRange: newRecordRange])
[ma addObject: newRecord]; [ma addObject: newRecord];
else else
newRecord = nil;
} else {
[self warnWithFormat: @"Recurrence %@ without dtstart or dtend. Ignoring", recurrenceId];
newRecord = nil; newRecord = nil;
}
} }
if (newRecord) if (newRecord)