Fix saving task with reminder related to due date

pull/229/merge
Francis Lachapelle 2018-08-22 14:07:10 -04:00
parent 90187876bf
commit 9f654d223b
2 changed files with 14 additions and 13 deletions

1
NEWS
View File

@ -17,6 +17,7 @@ Bug fixes
- [web] enable save button when editing the members of a list - [web] enable save button when editing the members of a list
- [web] restore caret position when replying or forwarding a message (#4517) - [web] restore caret position when replying or forwarding a message (#4517)
- [web] localized special mailboxes names in filter editor - [web] localized special mailboxes names in filter editor
- [web] fixed saving task with reminder based on due date
4.0.1 (2018-07-10) 4.0.1 (2018-07-10)
------------------ ------------------

View File

@ -132,10 +132,7 @@
if (startDate) if (startDate)
[self setStartDate: startDate]; [self setStartDate: startDate];
else else
{ [self setStartDate: nil];
[self setStartDate: nil];
[self removeAllAlarms];
}
// Handle due date // Handle due date
isAllDayDueDate = YES; isAllDayDueDate = YES;
@ -158,6 +155,9 @@
else else
[self setDue: nil]; [self setDue: nil];
if (!startDate && !dueDate)
[self removeAllAlarms];
// Handle time zone // Handle time zone
todoStartDate = (iCalDateTime *)[self uniqueChildWithTag: @"dtstart"]; todoStartDate = (iCalDateTime *)[self uniqueChildWithTag: @"dtstart"];
todoDueDate = (iCalDateTime *)[self uniqueChildWithTag: @"due"]; todoDueDate = (iCalDateTime *)[self uniqueChildWithTag: @"due"];
@ -234,7 +234,7 @@
- (NSMutableDictionary *) quickRecordFromContent: (NSString *) theContent - (NSMutableDictionary *) quickRecordFromContent: (NSString *) theContent
container: (id) theContainer container: (id) theContainer
nameInContainer: (NSString *) nameInContainer nameInContainer: (NSString *) nameInContainer
{ {
NSMutableDictionary *row; NSMutableDictionary *row;
NSCalendarDate *startDate, *dueDate, *completed; NSCalendarDate *startDate, *dueDate, *completed;
@ -294,14 +294,14 @@
if ([startDate isNotNull]) if ([startDate isNotNull])
date = [self quickRecordDateAsNumber: startDate date = [self quickRecordDateAsNumber: startDate
withOffset: 0 forAllDay: NO]; withOffset: 0 forAllDay: NO];
else else
date = [NSNull null]; date = [NSNull null];
[row setObject: date forKey: @"c_startdate"]; [row setObject: date forKey: @"c_startdate"];
if ([dueDate isNotNull]) if ([dueDate isNotNull])
date = [self quickRecordDateAsNumber: dueDate date = [self quickRecordDateAsNumber: dueDate
withOffset: 0 forAllDay: NO]; withOffset: 0 forAllDay: NO];
else else
date = [NSNull null]; date = [NSNull null];
[row setObject: date forKey: @"c_enddate"]; [row setObject: date forKey: @"c_enddate"];
@ -321,13 +321,13 @@
{ {
code = 0; code = 0;
if (completed || [status isEqualToString: @"COMPLETED"]) if (completed || [status isEqualToString: @"COMPLETED"])
code = taskStatusCompleted; code = taskStatusCompleted;
else if ([status isEqualToString: @"IN-PROCESS"]) else if ([status isEqualToString: @"IN-PROCESS"])
code = taskStatusInProcess; code = taskStatusInProcess;
else if ([status isEqualToString: @"CANCELLED"]) else if ([status isEqualToString: @"CANCELLED"])
code = taskStatusCancelled; code = taskStatusCancelled;
else if ([status isEqualToString: @"NEEDS-ACTION"]) else if ([status isEqualToString: @"NEEDS-ACTION"])
code = taskStatusNeedsAction; code = taskStatusNeedsAction;
[row setObject: [NSNumber numberWithInt: code] forKey: @"c_status"]; [row setObject: [NSNumber numberWithInt: code] forKey: @"c_status"];
} }
else else
@ -346,7 +346,7 @@
email = [organizer valueForKey: @"rfc822Email"]; email = [organizer valueForKey: @"rfc822Email"];
if (email) if (email)
[row setObject:email forKey: @"c_orgmail"]; [row setObject:email forKey: @"c_orgmail"];
} }
/* construct partstates */ /* construct partstates */
@ -360,7 +360,7 @@
p = [attendees objectAtIndex:i]; p = [attendees objectAtIndex:i];
stat = [p participationStatus]; stat = [p participationStatus];
if(i != 0) if(i != 0)
[partstates appendString: @"\n"]; [partstates appendString: @"\n"];
[partstates appendFormat: @"%d", stat]; [partstates appendFormat: @"%d", stat];
} }
[row setObject:partstates forKey: @"c_partstates"]; [row setObject:partstates forKey: @"c_partstates"];