mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-21 19:35:38 +00:00
fix(addressbook): respect visible domains when fetching contact
Fixes #4896
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* SQLSource.h - this file is part of SOGo
|
||||
*
|
||||
* Copyright (C) 2009-2020 Inverse inc.
|
||||
* Copyright (C) 2009-2022 Inverse inc.
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -55,6 +55,8 @@
|
||||
NSDictionary *_modulesConstraints;
|
||||
}
|
||||
|
||||
- (EOQualifier *) visibleDomainsQualifierFromDomain: (NSString *) domain;
|
||||
|
||||
@end
|
||||
|
||||
#endif /* SQLSOURCE_H */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SQLSource.h - this file is part of SOGo
|
||||
*
|
||||
* Copyright (C) 2009-2021 Inverse inc.
|
||||
* Copyright (C) 2009-2022 Inverse inc.
|
||||
*
|
||||
* This file is part of SOGo.
|
||||
*
|
||||
@@ -487,13 +487,8 @@
|
||||
}
|
||||
|
||||
domainQualifier = nil;
|
||||
if (_domainField && domain)
|
||||
{
|
||||
domainQualifier = [[EOKeyValueQualifier alloc] initWithKey: _domainField
|
||||
operatorSelector: EOQualifierOperatorEqual
|
||||
value: domain];
|
||||
[domainQualifier autorelease];
|
||||
}
|
||||
if (_domainField && [domain length])
|
||||
domainQualifier = [self visibleDomainsQualifierFromDomain: domain];
|
||||
|
||||
if (b)
|
||||
{
|
||||
@@ -727,7 +722,7 @@
|
||||
* (_domainField = domain OR _domainField = visibleDomain1 [...])
|
||||
* Should only be called on SQL sources using _domainField name.
|
||||
*/
|
||||
- (EOQualifier *) _visibleDomainsQualifierFromDomain: (NSString *) domain
|
||||
- (EOQualifier *) visibleDomainsQualifierFromDomain: (NSString *) domain
|
||||
{
|
||||
int i;
|
||||
EOQualifier *qualifier, *domainQualifier;
|
||||
@@ -745,10 +740,9 @@
|
||||
visibleDomains = [sd visibleDomainsForDomain: domain];
|
||||
qualifier = nil;
|
||||
|
||||
domainQualifier =
|
||||
[[EOKeyValueQualifier alloc] initWithKey: _domainField
|
||||
operatorSelector: EOQualifierOperatorEqual
|
||||
value: domain];
|
||||
domainQualifier = [[EOKeyValueQualifier alloc] initWithKey: _domainField
|
||||
operatorSelector: EOQualifierOperatorEqual
|
||||
value: domain];
|
||||
[domainQualifier autorelease];
|
||||
|
||||
if ([visibleDomains count])
|
||||
@@ -795,8 +789,7 @@
|
||||
{
|
||||
if ([domain length])
|
||||
{
|
||||
domainQualifier =
|
||||
[self _visibleDomainsQualifierFromDomain: domain];
|
||||
domainQualifier = [self visibleDomainsQualifierFromDomain: domain];
|
||||
if (domainQualifier)
|
||||
{
|
||||
[sql appendString: @" WHERE "];
|
||||
@@ -905,7 +898,7 @@
|
||||
if ([domain length])
|
||||
{
|
||||
EOQualifier *domainQualifier;
|
||||
domainQualifier = [self _visibleDomainsQualifierFromDomain: domain];
|
||||
domainQualifier = [self visibleDomainsQualifierFromDomain: domain];
|
||||
if (domainQualifier)
|
||||
{
|
||||
[sql appendFormat: @" AND ("];
|
||||
|
||||
Reference in New Issue
Block a user