Monotone-Parent: 2db05edf03ab8974bf7e72c13532434b264cff3d

Monotone-Revision: 5c16103ef3144005637a40e62d21cf1830441cea

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2012-03-06T19:46:14
This commit is contained in:
Wolfgang Sourdeau
2012-03-06 19:46:14 +00:00
parent f223156046
commit b7323afa01
2 changed files with 33 additions and 28 deletions

View File

@@ -1,3 +1,10 @@
2012-03-06 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Contacts/NGVCard+SOGo.m
(-_setupEmailFieldsInLDIFRecord:): simplified code and fixed a bug
where the home mail would be taken for both first and second email
fields when no work mail was present.
2012-03-02 Jean Raby <jraby@inverse.ca>
* Scripts/sogo-backup.sh: new script to automate backups.

View File

@@ -351,40 +351,38 @@ convention:
- (void) _setupEmailFieldsInLDIFRecord: (NSMutableDictionary *) ldifRecord
{
NSArray *elements;
NSString *workMail, *homeMail, *potential;
unsigned int max;
NSString *workMail, *homeMail, *mail, *secondEmail;
NSUInteger max;
elements = [self childrenWithTag: @"email"];
max = [elements count];
workMail = [self _simpleValueForType: @"work"
inArray: elements excluding: nil];
homeMail = [self _simpleValueForType: @"home"
inArray: elements excluding: nil];
max = [elements count];
if (max > 0)
{
potential = [[elements objectAtIndex: 0] flattenedValuesForKey: @""];
if (!workMail)
{
if (homeMail && homeMail == potential)
{
if (max > 1)
workMail = [[elements objectAtIndex: 1] flattenedValuesForKey: @""];
}
else
workMail = potential;
}
if (!homeMail && max > 1)
{
if (workMail && workMail == potential)
homeMail = [[elements objectAtIndex: 1] flattenedValuesForKey: @""];
else
homeMail = potential;
}
}
workMail = [self _simpleValueForType: @"work"
inArray: elements excluding: nil];
homeMail = [self _simpleValueForType: @"home"
inArray: elements excluding: nil];
[self _setValue: @"mail" to: workMail inLDIFRecord: ldifRecord];
[self _setValue: @"mozillasecondemail" to: homeMail inLDIFRecord: ldifRecord];
mail = workMail;
if (mail)
secondEmail = homeMail;
else
{
secondEmail = nil;
mail = homeMail;
}
if (!mail)
{
mail = [elements objectAtIndex: 0];
if (max > 1) /* we know secondEmail is not set here either... */
secondEmail = [elements objectAtIndex: 1];
}
[self _setValue: @"mail" to: mail inLDIFRecord: ldifRecord];
[self _setValue: @"mozillasecondemail" to: secondEmail inLDIFRecord: ldifRecord];
}
[self _setValue: @"mozillausehtmlmail"
to: [[self uniqueChildWithTag: @"x-mozilla-html"]