From d28ca1ecdcdfbcbd3c2090d04f3132885cdb04f3 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 28 Mar 2012 04:42:02 +0000 Subject: [PATCH] Monotone-Parent: 7a38303ac45419355a1bdedefd53d63339248410 Monotone-Revision: f8af7a968c459aff400e85a6c5422a0c7a370167 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-03-28T04:42:02 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 5 +++++ SoObjects/SOGo/LDAPSource.m | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b053aa93c..efb9ae8ec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-28 Wolfgang Sourdeau + + * SoObjects/SOGo/LDAPSource.m (-allEntryIDs): take the _filter + ivar into account. + 2012-03-27 Wolfgang Sourdeau * SoObjects/Contacts/SOGoContactFolders.m diff --git a/SoObjects/SOGo/LDAPSource.m b/SoObjects/SOGo/LDAPSource.m index b5cbc146a..3269ca10c 100644 --- a/SoObjects/SOGo/LDAPSource.m +++ b/SoObjects/SOGo/LDAPSource.m @@ -830,6 +830,8 @@ andMultipleBookingsField: (NSString *) newMultipleBookingsField NSEnumerator *entries; NGLdapEntry *currentEntry; NGLdapConnection *ldapConnection; + EOQualifier *qualifier; + NSMutableString *qs; NSString *value; NSArray *attributes; NSMutableArray *ids; @@ -838,17 +840,23 @@ andMultipleBookingsField: (NSString *) newMultipleBookingsField ldapConnection = [self _ldapConnection]; attributes = [NSArray arrayWithObject: IDField]; + + qs = [NSMutableString stringWithFormat: @"(%@='*')", CNField]; + if ([_filter length]) + [qs appendFormat: @" AND %@", _filter]; + qualifier = [EOQualifier qualifierWithQualifierFormat: qs]; + if ([_scope caseInsensitiveCompare: @"BASE"] == NSOrderedSame) entries = [ldapConnection baseSearchAtBaseDN: baseDN - qualifier: nil + qualifier: qualifier attributes: attributes]; else if ([_scope caseInsensitiveCompare: @"ONE"] == NSOrderedSame) entries = [ldapConnection flatSearchAtBaseDN: baseDN - qualifier: nil + qualifier: qualifier attributes: attributes]; else entries = [ldapConnection deepSearchAtBaseDN: baseDN - qualifier: nil + qualifier: qualifier attributes: attributes]; while ((currentEntry = [entries nextObject]))