Fix support for recurrent tasks

This commit is contained in:
Francis Lachapelle
2017-01-06 11:59:15 -05:00
parent cde6fe520c
commit 62df4fffa3
2 changed files with 10 additions and 6 deletions

View File

@@ -30,6 +30,7 @@
#import <NGObjWeb/NSException+HTTP.h>
#import <NGObjWeb/SoObject+SoDAV.h>
#import <NGObjWeb/WOApplication.h>
#import <NGObjWeb/WOContext+SoObjects.h>
#import <NGObjWeb/WOMessage.h>
#import <NGObjWeb/WORequest.h>
@@ -995,7 +996,6 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
NSCalendarDate *recurrenceId, *masterEndDate, *endDate;
NSMutableDictionary *newRecord;
NGCalendarDateRange *newRecordRange;
NSComparisonResult compare;
NSNumber *dateSecs;
id master;
@@ -1026,13 +1026,13 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
{
master = [[[component parent] events] objectAtIndex: 0];
masterEndDate = [master endDate];
endDate = [component endDate];
endDate = [(iCalEvent*) component endDate];
}
else
{
master = [[[component parent] todos] objectAtIndex: 0];
masterEndDate = [master due];
endDate = [component due];
endDate = [(iCalToDo*) component due];
}
delta = [masterEndDate timeIntervalSinceDate: [master startDate]];
@@ -1046,7 +1046,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
if (recordIndex > -1)
{
if ([dateRange containsDate: [component startDate]] ||
[dateRange containsDate: endDate])
(endDate && [dateRange containsDate: endDate]))
{
// We must pass nil to :container here in order to avoid re-entrancy issues.
newRecord = [self _fixupRecord: [component quickRecordFromContent: nil container: nil]];

View File

@@ -1,6 +1,6 @@
/* iCalToDot+SOGo.m - this file is part of SOGo
*
* Copyright (C) 2008-2014 Inverse inc.
* Copyright (C) 2008-2017 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -188,7 +188,11 @@
- (NSTimeInterval) occurenceInterval
{
return [[self due] timeIntervalSinceDate: [self startDate]];
if ([self due])
return [[self due] timeIntervalSinceDate: [self startDate]];
else
// When no due date is defined, base recurrence calculation on a 60-minute duration
return 3600;
}
@end