Load alarm from UIxComponentEditor

The alarm attributes are now loaded from UIxComponentEditor and not
iCalEntityObject so we can determine if the component's owner is part of
the alarm's attendees.
This commit is contained in:
Francis Lachapelle
2015-06-22 09:20:35 -04:00
parent d89f02ff53
commit 8402152a59
4 changed files with 56 additions and 36 deletions
+1 -33
View File
@@ -78,14 +78,12 @@ NSNumber *iCalDistantFutureNumber = nil;
NSArray *elements;
NSMutableArray *attendees;
NSDictionary *contactData;
NSMutableDictionary *data, *organizerData, *attendeeData, *alarmData;
NSMutableDictionary *data, *organizerData, *attendeeData;
NSEnumerator *attendeesList;
NSString *uid, *domain, *sentBy;
NSObject <SOGoSource> *source;
SOGoUserManager *um;
iCalPerson *organizer, *currentAttendee;
iCalAlarm *alarm;
iCalTrigger *trigger;
id value;
um = [SOGoUserManager sharedUserManager];
@@ -183,35 +181,6 @@ NSNumber *iCalDistantFutureNumber = nil;
if ([attendees count])
[data setObject: attendees forKey: @"attendees"];
// Alarm
if ([self hasAlarms])
{
alarm = [self firstSupportedAlarm]; // only consider the first alarm with a supported action
trigger = [alarm trigger];
if (![[trigger valueType] length] || [[trigger valueType] caseInsensitiveCompare: @"DURATION"] == NSOrderedSame)
{
alarmData = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[[alarm action] lowercaseString], @"action",
nil];
[alarmData addEntriesFromDictionary: [trigger asDictionary]];
attendees = [NSMutableArray array];
attendeesList = [[alarm attendees] objectEnumerator];
while ((currentAttendee = [attendeesList nextObject]))
{
attendeeData = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[currentAttendee rfc822Email], @"email",
[currentAttendee cnWithoutQuotes], @"name",
nil];
if ([currentAttendee uid]) [attendeeData setObject: [currentAttendee uid] forKey: @"uid"];
[attendees addObject: attendeeData];
}
if ([attendees count])
[alarmData setObject: attendees forKey: @"attendees"];
[data setObject: alarmData forKey: @"alarm"];
}
}
return data;
}
@@ -367,7 +336,6 @@ NSNumber *iCalDistantFutureNumber = nil;
if (anAlarm)
{
[self addToAlarms: anAlarm];
[anAlarm release];
}
}