diff --git a/ChangeLog b/ChangeLog index 0159c67c8..3a628972f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,9 @@ 2012-03-20 Wolfgang Sourdeau + * SoObjects/SOGo/SOGoUserFolder.m (-davLastName, -davFirstName): + quick and dirty implementation of those getters. + * OpenChange/MAPIStoreAppointmentWrapper.m (-_setupITIPContext): ensure method is uppercase. diff --git a/SoObjects/SOGo/SOGoUserFolder.m b/SoObjects/SOGo/SOGoUserFolder.m index 862525153..c450dc0cf 100644 --- a/SoObjects/SOGo/SOGoUserFolder.m +++ b/SoObjects/SOGo/SOGoUserFolder.m @@ -635,6 +635,54 @@ getCNForUID: nameInContainer]; } +/* For firstname and lastname, we handle "Firstname Blabla Lastname" and + "Lastname, Firstname Blabla" */ +- (NSString *) davLastName +{ + NSArray *parts; + NSString *cn, *lastName; + NSRange comma; + + cn = [self davDisplayName]; + comma = [cn rangeOfString: @","]; + if (comma.location != NSNotFound) + lastName = [[cn substringToIndex: comma.location] + stringByTrimmingSpaces]; + else + { + parts = [cn componentsSeparatedByString: @" "]; + if ([parts count] > 0) + lastName = [parts lastObject]; + else + lastName = nil; + } + + return lastName; +} + +- (NSString *) davFirstName +{ + NSArray *parts; + NSString *subtext, *cn, *firstName; + NSRange comma; + + cn = [self davDisplayName]; + comma = [cn rangeOfString: @","]; + if (comma.location != NSNotFound) + subtext = [[cn substringFromIndex: comma.location] + stringByTrimmingSpaces]; + else + subtext = cn; + + parts = [subtext componentsSeparatedByString: @" "]; + if ([parts count] > 0) + firstName = [parts objectAtIndex: 0]; + else + firstName = nil; + + return firstName; +} + - (NSString *) davResourceId { return [NSString stringWithFormat: @"urn:uuid:%@", nameInContainer];