From f3093cc2e0ec169ae135764babaa12c19949ce06 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Thu, 10 May 2007 16:05:18 +0000 Subject: [PATCH] Monotone-Parent: 349943f14a2072de2bead5914325b1b11a7c4f90 Monotone-Revision: 6a4ca400c5002f16d1bc1a5c29569fd895195891 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-05-10T16:05:18 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 2 ++ SoObjects/SOGo/LDAPUserManager.m | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ad92d7c78..62fa79aac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * SoObjects/SOGo/LDAPUserManager.m ([LDAPUserManager -contactInfosForUserWithUIDorEmail:uid]): check that uid is not empty. + ([LDAPUserManager -_fillContactMailRecords:contact]): if the + system email is already present, remove it before adding it. * SoObjects/SOGo/LDAPSource.m ([LDAPSource -checkLogin:loginToCheckandPassword:passwordToCheck]): check that diff --git a/SoObjects/SOGo/LDAPUserManager.m b/SoObjects/SOGo/LDAPUserManager.m index 66b193564..6b0379d1e 100644 --- a/SoObjects/SOGo/LDAPUserManager.m +++ b/SoObjects/SOGo/LDAPUserManager.m @@ -265,12 +265,14 @@ static NSString *defaultMailDomain = nil; - (void) _fillContactMailRecords: (NSMutableDictionary *) contact { NSMutableArray *emails; - NSString *uid; + NSString *uid, *systemEmail; emails = [contact objectForKey: @"emails"]; uid = [contact objectForKey: @"c_uid"]; - [emails addObject: - [NSString stringWithFormat: @"%@@%@", uid, defaultMailDomain]]; + systemEmail = [NSString stringWithFormat: @"%@@%@", uid, defaultMailDomain]; + if ([emails containsObject: systemEmail]) + [emails removeObject: systemEmail]; + [emails addObject: systemEmail]; [contact setObject: [emails objectAtIndex: 0] forKey: @"c_email"]; }