Fix for bug #589
parent
3675220756
commit
0b6e3dc22d
1
NEWS
1
NEWS
|
@ -8,6 +8,7 @@ Enchancements
|
|||
- alarms can now be snoozed for 1 day
|
||||
- better iCal compability regarding alarms (#1920)
|
||||
- force default classification over CalDAV if none is set (#2326)
|
||||
- now compliant when handling completed tasks (#589)
|
||||
|
||||
Bug fixes
|
||||
- fixed sending mails to multiple recipients over AS
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
container: (id) theContainer
|
||||
{
|
||||
NSMutableDictionary *row;
|
||||
NSCalendarDate *startDate, *dueDate;
|
||||
NSCalendarDate *startDate, *dueDate, *completed;
|
||||
NSArray *attendees, *categories;
|
||||
NSString *uid, *title, *location, *status;
|
||||
NSNumber *sequence;
|
||||
|
@ -63,6 +63,7 @@
|
|||
location = [self location];
|
||||
sequence = [self sequence];
|
||||
accessClass = [self symbolicAccessClass];
|
||||
completed = [self completed];
|
||||
status = [[self status] uppercaseString];
|
||||
|
||||
attendees = [self attendees];
|
||||
|
@ -121,10 +122,10 @@
|
|||
if ([partmails length] > 0)
|
||||
[row setObject:partmails forKey: @"c_partmails"];
|
||||
|
||||
if ([status isNotNull])
|
||||
if (completed || [status isNotNull])
|
||||
{
|
||||
code = 0; /* NEEDS-ACTION */
|
||||
if ([status isEqualToString: @"COMPLETED"])
|
||||
if (completed || [status isEqualToString: @"COMPLETED"])
|
||||
code = 1;
|
||||
else if ([status isEqualToString: @"IN-PROCESS"])
|
||||
code = 2;
|
||||
|
|
|
@ -41,6 +41,8 @@
|
|||
#import <SOGo/SOGoDateFormatter.h>
|
||||
#import <SOGo/SOGoUser.h>
|
||||
#import <SOGo/SOGoUserDefaults.h>
|
||||
|
||||
#import <Appointments/iCalEntityObject+SOGo.h>
|
||||
#import <Appointments/SOGoAppointmentFolder.h>
|
||||
#import <Appointments/SOGoTaskObject.h>
|
||||
|
||||
|
@ -213,13 +215,12 @@
|
|||
|
||||
- (BOOL) statusDateDisabled
|
||||
{
|
||||
return ![status isEqualToString: @"COMPLETED"];
|
||||
return !([status isEqualToString: @"COMPLETED"] || statusDate);
|
||||
}
|
||||
|
||||
- (BOOL) statusPercentDisabled
|
||||
{
|
||||
return ([status length] == 0
|
||||
|| [status isEqualToString: @"CANCELLED"]);
|
||||
return ([status length] == 0 || [status isEqualToString: @"CANCELLED"]);
|
||||
}
|
||||
|
||||
- (void) setStatusPercent: (NSString *) newStatusPercent
|
||||
|
@ -311,11 +312,15 @@
|
|||
hasDueDate = YES;
|
||||
else
|
||||
dueDate = [self newStartDate];
|
||||
|
||||
ASSIGN (statusDate, [todo completed]);
|
||||
[statusDate setTimeZone: timeZone];
|
||||
|
||||
ASSIGN (status, [todo status]);
|
||||
if ([status isEqualToString: @"COMPLETED"])
|
||||
|
||||
if ([status length] == 0 && statusDate)
|
||||
{
|
||||
ASSIGN (statusDate, [todo completed]);
|
||||
[statusDate setTimeZone: timeZone];
|
||||
ASSIGN(status, @"COMPLETED");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue