Updated Branches: refs/heads/master 21a9cec0f -> 7b9b434de
Fixes CB-997, CB-976 remove Organization Will now properly remove an organization if the Contact.organizations array is set to an empty array. Also tested removing individual ContactOrganization elements by setting to empty string. Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/7b9b434d Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/7b9b434d Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/7b9b434d Branch: refs/heads/master Commit: 7b9b434de9278a251398c77993a40baa175f75f1 Parents: 21a9cec Author: Becky Gibson <becka...@apache.org> Authored: Thu Jul 5 11:57:36 2012 -0400 Committer: Becky Gibson <becka...@apache.org> Committed: Thu Jul 5 11:57:36 2012 -0400 ---------------------------------------------------------------------- CordovaLib/Classes/CDVContact.m | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/7b9b434d/CordovaLib/Classes/CDVContact.m ---------------------------------------------------------------------- diff --git a/CordovaLib/Classes/CDVContact.m b/CordovaLib/Classes/CDVContact.m index e7cdbfc..51297ca 100644 --- a/CordovaLib/Classes/CDVContact.m +++ b/CordovaLib/Classes/CDVContact.m @@ -319,12 +319,19 @@ static NSDictionary* org_apache_cordova_contacts_defaultFields = nil; // TODO this may need work - should Organization information be removed when array is empty?? array = [aContact valueForKey:kW3ContactOrganizations]; // iOS only supports one organization - use first one if ([array isKindOfClass:[NSArray class]]){ - NSDictionary* dict = [array objectAtIndex:0]; - if ([dict isKindOfClass:[NSDictionary class]]){ - [self setValue: [dict valueForKey:@"name"] forProperty: kABPersonOrganizationProperty inRecord: person asUpdate: bUpdate]; - [self setValue: [dict valueForKey:kW3ContactTitle] forProperty: kABPersonJobTitleProperty inRecord: person asUpdate: bUpdate]; - [self setValue: [dict valueForKey:kW3ContactDepartment] forProperty: kABPersonDepartmentProperty inRecord: person asUpdate: bUpdate]; - } + BOOL bRemove = NO; + NSDictionary* dict = nil; + if ([array count] > 0) { + dict = [array objectAtIndex:0]; + } else { + // remove the organization info entirely + bRemove = YES; + } + if ([dict isKindOfClass:[NSDictionary class]] || bRemove == YES){ + [self setValue: (bRemove ? @"" : [dict valueForKey:@"name"]) forProperty: kABPersonOrganizationProperty inRecord: person asUpdate: bUpdate]; + [self setValue: (bRemove ? @"" :[dict valueForKey:kW3ContactTitle]) forProperty: kABPersonJobTitleProperty inRecord: person asUpdate: bUpdate]; + [self setValue: (bRemove ? @"" :[dict valueForKey:kW3ContactDepartment]) forProperty: kABPersonDepartmentProperty inRecord: person asUpdate: bUpdate]; + } } // add dates // Dates come in as milliseconds in NSNumber Object