See ChangeLog.

Monotone-Parent: d4394b4b92fdfda720d67698c9fbadc75787ad18
Monotone-Revision: e8c7d8a4465a1b9357c1d9f201dec2b93c5f3507

Monotone-Author: flachapelle@inverse.ca
Monotone-Date: 2012-02-11T07:08:02
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Francis Lachapelle
2012-02-11 07:08:02 +00:00
parent e8abd08d31
commit 7815b3403c
15 changed files with 124 additions and 38 deletions
+2 -1
View File
@@ -46,7 +46,8 @@
- (NSArray *) lookupContactsWithFilter: (NSString *) filter
onCriteria: (NSString *) criteria
sortBy: (NSString *) sortKey
ordering: (NSComparisonResult) sortOrdering;
ordering: (NSComparisonResult) sortOrdering
inDomain: (NSString *) domain;
- (NSDictionary *) lookupContactWithName: (NSString *) aName;
@end
@@ -285,10 +285,15 @@ static NSArray *folderListingFields = nil;
return record;
}
/*
* GCS folder are personal folders and are not associated to a domain.
* The domain is therefore ignored.
*/
- (NSArray *) lookupContactsWithFilter: (NSString *) filter
onCriteria: (NSString *) criteria
sortBy: (NSString *) sortKey
ordering: (NSComparisonResult) sortOrdering
inDomain: (NSString *) domain
{
NSArray *dbRecords, *records;
EOQualifier *qualifier;
+3 -1
View File
@@ -314,6 +314,7 @@
onCriteria: (NSString *) criteria
sortBy: (NSString *) sortKey
ordering: (NSComparisonResult) sortOrdering
inDomain: (NSString *) domain
{
NSArray *records, *result;
EOSortOrdering *ordering;
@@ -323,7 +324,8 @@
if (([filter length] > 0 && [criteria isEqualToString: @"name_or_address"])
|| ![source listRequiresDot])
{
records = [source fetchContactsMatching: filter];
records = [source fetchContactsMatching: filter
inDomain: domain];
[childRecords setObjects: records
forKeys: [records objectsForKey: @"c_name"
notFoundMarker: nil]];
+6 -2
View File
@@ -25,6 +25,7 @@
#import <Foundation/NSEnumerator.h>
#import <NGObjWeb/WOContext.h>
#import <NGObjWeb/WOContext+SoObjects.h>
#import <NGObjWeb/WORequest.h>
#import <NGObjWeb/WOResponse.h>
#import <NGExtensions/NSObject+Logs.h>
@@ -34,6 +35,7 @@
#import <SaxObjC/SaxObjC.h>
#import <SaxObjC/XMLNamespaces.h>
#import <SOGo/SOGoUser.h>
#import <SOGo/WOResponse+SOGo.h>
#import "SOGoContactFolder.h"
@@ -92,9 +94,10 @@
unsigned int count, max;
NSDictionary *currentFilter, *contact;
NSEnumerator *contacts;
NSString *baseURL;
NSString *baseURL, *domain;
baseURL = [self baseURLInContext: localContext];
domain = [[localContext activeUser] domain];
max = [filters count];
for (count = 0; count < max; count++)
@@ -103,7 +106,8 @@
contacts = [[(id<SOGoContactFolder>)self lookupContactsWithFilter: [[currentFilter allValues] lastObject]
onCriteria: @"name_or_address"
sortBy: @"c_givenname"
ordering: NSOrderedDescending]
ordering: NSOrderedDescending
inDomain: domain]
objectEnumerator];
while ((contact = [contacts nextObject]))