From 26126b8959b449aa19b06b221f34cec869619e0e Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Tue, 19 Jul 2011 01:21:18 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: b60a07f4bcb416be85fafcd1299d398c09b58190 Monotone-Revision: b836806e761968a4845035ee408cce501a3f9fc5 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2011-07-19T01:21:18 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 25 ++++++--- Documentation/SOGo Installation Guide.odt | Bin 152128 -> 152187 bytes SoObjects/SOGo/SOGoDefaults.plist | 2 +- SoObjects/SOGo/SOGoSession.m | 2 +- SoObjects/SOGo/SOGoSystemDefaults.h | 2 +- SoObjects/SOGo/SOGoSystemDefaults.m | 4 +- SoObjects/SOGo/SOGoUser.m | 13 +++-- SoObjects/SOGo/SOGoUserFolder.m | 59 +++++++++++++--------- SoObjects/SOGo/SOGoUserManager.m | 2 +- UI/MainUI/SOGoUserHomePage.m | 2 +- 10 files changed, 68 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index 10141b9bf..7457383f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-07-19 Francis Lachapelle + + * SoObjects/SOGo/SOGoUserFolder.m (-_davFetchUsersMatching:): + append the domain to the username when SOGoEnableDomainWithUID is + set to YES. When using domains, fetch matching users from visible + domains. + 2011-07-18 Wolfgang Sourdeau * OpenChange/NSString+MAPIStore.m (-asUnicodeInMemCtx:): use an @@ -6,16 +13,20 @@ 2011-07-18 Francis Lachapelle - * SoObjects/SOGo/SOGoSystemDefaults.m (-addDomainToUID): new + * SoObjects/SOGo/SOGoSystemDefaults.m (-enableDomainWithUID): new method that returns the boolean value of the new system defaults - SOGoAddDomainToUID if at least one domain is defined. + SOGoEnableDomainWithUID if at least one domain is defined. - * SoObjects/SOGo/SOGoUser.m (-initWithLogin:roles:trust:): we now - try to extract the domain part of the login name only if the new - system defaults SOGoAddDomainToUID is set to YES. + * SoObjects/SOGo/SOGoUser.m (-initWithLogin:roles:trust:): try to + extract the domain part of the login name only if the new system + defaults SOGoEnableDomainWithUID is set to YES. If the domain is not + specified but SOGoEnableDomainWithUID is enabled, add the domain to the + login name. * SoObjects/SOGo/SOGoUserManager.m - (-contactInfosForUserWithUIDorEmail): idem. + (-contactInfosForUserWithUIDorEmail): try to extract the domain + part of the login name only if the new system defaults + SOGoEnableDomainWithUID is set to YES.. * SoObjects/SOGo/SOGoSession.m (+decodeValue:usingKey:login:domain:password:): idem. @@ -27,7 +38,7 @@ * UI/MainUI/SOGoUserHomePage.m (-usersSearchAction): only append the domain to the user's login if the new system defaults - SOGoAddToDomainToUID is set to YES. + SOGoEnableDomainWithUID is set to YES. 2011-07-15 Wolfgang Sourdeau diff --git a/Documentation/SOGo Installation Guide.odt b/Documentation/SOGo Installation Guide.odt index 93bd0d89c6945bd86f1fbc689eee5f7baae7803b..e7d97b6bf8e7e33e8c9d1563e44673755ce78804 100644 GIT binary patch delta 33643 zcmagEbC7326D`Z2!|OX#@Cw_}u`r{1+nw;r`DYWDL@33Ka!k(l7N8Cu(s8+~V^r+#IaO+D|4?r!szbv8-~Ee9p#@A#M%TvPv86=eB2M@e5cxoPCGp`b= ze~Laj-sRP}QdMbDx@DoYKWK4CxZdwFwmns5#IFO`P`mNV&LF-XrBN(WNYBb(KifZg zZi%_v++;tvkF9{I?9VaJfz6Z4mv*1lIx&kZJ-p$GMG1^#2nUtk zYr&3@*ZaitemA;0M5sA;=6G)Fd3Mav@(Opf$P8umsL=|esQAPmXC?I!4Q@RMQP=y# z<-Y`A(S&`MR!-vh4wTY*t!;feEI0Axts|N1ZUv{%T&?KwJL?LFPEqm<25(!3)X9C8 zH@~+X*8ZKZx4|rr1L3^l#`Wd&SoTg5_|yv|s3{E-%E5<$UOh_XCfjdx;`*G7?j)}X z){=x;E{Bu^J#a8Dt#3`@ozL+bXU9bjHi-tHOXzaqcAPeUvEpv|RUF!@p+fgP9?3E( zL19vW<-XH5^5J4&!hMsD2I}2gH+idpr9hw+0TF=TKhXC6x^31qQ4JD^)u*ANme1Ef z=*0|Rt&UBfsf1XiyLl3TvcvSNj_5^#wUFT8ceX!SEHGhR^sTVHN9eb|d{Rj&ky zZ}r5zz5Vky!r(&7LQ7yg)W~jqD5F7s0`nkE?k2C3ys^ekWhc%rqBpizZFCEQ8@T3> zFFm)_D)Oe?b=FtKf+}eUu<4WuOW`1A8YPn?+FO-t{1AySS=R zo^$Vw{`%{0hgZr7^pn#23rHQKX(gIGB@r4#pjXUy#f+fXX^lOIH==<+Iz;B!w0!mE zJn%^ZsCXj}`&GrTM1FaTP0TZZ@GZzDmf}{XXvLEK4r4#wD3uGMT9;SEOOp@cMtsla zw0uv)brh!Ld4PH-Z89ohcaqK3I_5e8|2k;0+WJ1gym$HLd-gNmPlvl~TD*GEzBZ`Y zdEqZROrO_|E--Ctm6+mwC1-x!A&WT_0jcfto@iqKoTE^8;-e7{dmKQOCc@;-W;bJ= zFea6MnRk>K{^|z%vG-L)Wb|eJMbQ4#!1@D=p6#pu)8^)Kb_1iA*17y#Cp&2T3DQcp zMhyqm$mw3EUA~FCs*!}V6+O$-f40jet)dJV8z6Ya4sqq?rkLuuL!YbbhtB6vWP?>7J-vEiP~)^!MsuDkyU0raGu;)vi_kKB!|mgMj(V z?vgv;Hz8}Rw;QTJx%V*AlD08nmJ0g`(txr?hWlx+I{LK<3;d`e(d%aI?n25_lR!457K2|UbQVymwv_==DXnmiK}W&)q35DCyqa52vaDv~<7hFI2s* zX|w5$9pq;h^5=1E;R1To-5wyX$nK%BYC&U_x*>Zk~+j(+^QW5cr$AFw^Cze*08Wd zows8CvwXl`{)F#j9-o3v(5G^Zi(e}c3{4Q-`V0caoeqUAs~{V8FAtT)+Z!C<(!U~k zqn@^^D4ajHMv9?*A=jYk@N{Tw1;{vJU_^y~J#jl0ZO-6%tZocX9{>sJT`1XdWCnr6 z_Xx%vEY^3gX!ta*ac|Mt$#8oY+gz!d+R-s(y^)!p?qTb6QgqIPZrIrOrwLX9^AS&M zq9^VAKK~@#eqCNy+nfdk&8uR1r{z@wqX8~!S305sI$)bS8-*^e zpCbjm9C}hF;Bre-wIXHAHdzlWkiJ)TIM^C~s)iMQ*0;VM-H{QR3(kZqcWsa5`ydqE zkr0;!tg2(e|GH_nN73(n6C5c-T$cZ!P3C>C5(3`6DFD`|=Z+)Z9)T}&Ucp~mFut>= z6LdKYc!l$M_kfA&H{F`8OrH6kjVt&K4T|2o-K~gwS7yyDx3z0_d8f*z>7Z*havFQT z?h1_uM7Kt~eIGIz}F_#mU!^)%yHS5S)0?qdc#6Wp>O zxvF~9y5_8Oo|HSgHMjN6b?f8IT5F5~n*IZRR#@bsMK`_j- zj@0M^*l8gA*HcU`%r_(*(;*qA9_w}Lx^zFb->FpIEz$|z4o#*=fCF?E;>&WBx`qvs z%nNGy9yDIP7-6C5K3gVulh$ec25Sb;e~A62W3R}Pcwk%XeavyD*m5C-=(JL1EhDfZ zC@-&5Nej)L;nDv5U?w7cW#f&@fXf)*Cl1B}(qJX+szjXr#vvu*w8wXu)?f(Vv*efj z>Fc4;wCtE*5Bw2(!{relRJIn5u!Q2B)7qotL{OV|(|Q{zv35P@3q6l;h?r;L zQtcj*Z>w)Ru@HD)W&l02X4ooeP)_kHP0fri4)OBo)|O5usp zPgtJ)*JNGt9Dm&ca|!?A#aQr@8F?rgYcS`^w0M_3*O_ecT+Rbhi>5G+|71V2a~&Pi z)py1_mBVB_KXMn~$$u>ilTky*m|b(I2ffj@O5+tczabCV?^qPMIbBPOsR70U{O;tw z=R(w$-0j+qo<<#*>50`0dnN^L)xHQGfbwKWcFrz%&Ite){dw>M>gzTIM=!;x!&G#2}1K!pzIQ#+e_b2GirXSY+C|0dCzAS;; zb1~mJz_6x@wRkTvL4jJ@;&;p`-KnnCmvI|HZ!mktuYXFcQyKGE^S-={zg);zw*~|b z`x3zA@LX@0iXZnp)0)Phw!Ks}dv7o4l^bLB?;*9G6mzUmNl=s9dbUKzQz%MjgeB@~;@z+`Z?ehn%(O^_M6mn#s}NwNyh z)}Rwm>z_wbzx@k3uyQX~-`D$am)0RDDz#RB93LC&KP&mj8N+peK5 z@3r$2XD_(*%OAF~_B~9Bi#76`CeY_+!Db8t^$kLQ{kaey`sRNpw2Q zW$)!}c~`~pv5A_4@(62E{X-Gqw<~#d1Hr8%iPXi+!!3u;hr`x|)F&6ZO`FHuE*FBa(^Zmm4swcZ4GL|#)O4%C)C}|=!IMu3913j`uKads7au3W>41*Q z8UFo5WF6aqQs|K$y_%V&LPUBg&W7Is_k8bV$ay=~fM=7FqX*P?=ZGmZd&OA
    W&PXLWxl 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 K*i?O)fO-Lh02nR+ diff --git a/SoObjects/SOGo/SOGoDefaults.plist b/SoObjects/SOGo/SOGoDefaults.plist index 7b3e4cc9f..03349808e 100644 --- a/SoObjects/SOGo/SOGoDefaults.plist +++ b/SoObjects/SOGo/SOGoDefaults.plist @@ -29,7 +29,7 @@ SOGoWebAccessEnabled = YES; SOGoCalendarDAVAccessEnabled = YES; SOGoAddressBookDAVAccessEnabled = YES; - SOGoAddDomainToUID = NO; + SOGoEnableDomainWithUID = NO; SOGoLoginModule = "Mail"; SOGoLanguage = "English"; diff --git a/SoObjects/SOGo/SOGoSession.m b/SoObjects/SOGo/SOGoSession.m index d795e6e1c..aa90da221 100644 --- a/SoObjects/SOGo/SOGoSession.m +++ b/SoObjects/SOGo/SOGoSession.m @@ -254,7 +254,7 @@ *theDomain = nil; sd = [SOGoSystemDefaults sharedSystemDefaults]; - if ([sd addDomainToUID]) + if ([sd enableDomainWithUID]) { r = [*theLogin rangeOfString: @"@" options: NSBackwardsSearch]; if (r.location != NSNotFound) diff --git a/SoObjects/SOGo/SOGoSystemDefaults.h b/SoObjects/SOGo/SOGoSystemDefaults.h index ae241774e..af959bbed 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.h +++ b/SoObjects/SOGo/SOGoSystemDefaults.h @@ -34,7 +34,7 @@ + (SOGoSystemDefaults *) sharedSystemDefaults; - (NSArray *) domainIds; -- (BOOL) addDomainToUID; +- (BOOL) enableDomainWithUID; - (NSArray *) loginDomains; - (NSArray *) visibleDomainsForDomain: (NSString *) domain; diff --git a/SoObjects/SOGo/SOGoSystemDefaults.m b/SoObjects/SOGo/SOGoSystemDefaults.m index f67fb3a19..44112bf7c 100644 --- a/SoObjects/SOGo/SOGoSystemDefaults.m +++ b/SoObjects/SOGo/SOGoSystemDefaults.m @@ -193,9 +193,9 @@ BootstrapNSUserDefaults () return [[self dictionaryForKey: @"domains"] allKeys]; } -- (BOOL) addDomainToUID +- (BOOL) enableDomainWithUID { - return ([[self domainIds] count] > 0 && [self boolForKey: @"SOGoAddDomainToUID"]); + return ([[self domainIds] count] > 0 && [self boolForKey: @"SOGoEnableDomainWithUID"]); } - (NSArray *) loginDomains diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index e68089bd1..dd0358cab 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -125,7 +125,7 @@ /** * Return a new instance for the login name, which can be appended by a * domain name. The domain is extracted only if the system defaults - * SOGoAddDomainToUID is enabled. + * SOGoEnableDomainWithUID is enabled. * * @param newLogin a login name optionally follow by @domain * @param newRoles @@ -139,6 +139,7 @@ { SOGoUserManager *um; SOGoSystemDefaults *sd; + NSDictionary *contactInfos; NSString *realUID, *uid, *domain; NSRange r; @@ -154,7 +155,7 @@ else { sd = [SOGoSystemDefaults sharedSystemDefaults]; - if ([sd addDomainToUID]) + if ([sd enableDomainWithUID]) { r = [newLogin rangeOfString: @"@" options: NSBackwardsSearch]; if (r.location != NSNotFound) @@ -176,9 +177,11 @@ else { um = [SOGoUserManager sharedUserManager]; - realUID = [[um contactInfosForUserWithUIDorEmail: newLogin - inDomain: domain] - objectForKey: @"c_uid"]; + contactInfos = [um contactInfosForUserWithUIDorEmail: newLogin + inDomain: domain]; + realUID = [contactInfos objectForKey: @"c_uid"]; + if (domain == nil && [sd enableDomainWithUID]) + domain = [contactInfos objectForKey: @"c_domain"]; } if (domain) diff --git a/SoObjects/SOGo/SOGoUserFolder.m b/SoObjects/SOGo/SOGoUserFolder.m index b98b2dc70..5241b30bc 100644 --- a/SoObjects/SOGo/SOGoUserFolder.m +++ b/SoObjects/SOGo/SOGoUserFolder.m @@ -1,6 +1,6 @@ /* Copyright (C) 2004-2005 SKYRIX Software AG - Copyright (C) 2007-2009 Inverse inc. + Copyright (C) 2007-2011 Inverse inc. This file is part of OpenGroupware.org. @@ -390,45 +390,56 @@ - (NSString *) _davFetchUsersMatching: (NSString *) user { SOGoUserManager *um; + SOGoSystemDefaults *sd; NSMutableString *fetch; + NSEnumerator *domains; NSDictionary *currentUser; NSString *field, *login, *domain; NSArray *users; int i; + BOOL enableDomainWithUID; #warning the attributes returned here should match the one requested in the query fetch = [NSMutableString string]; login = [[context activeUser] login]; um = [SOGoUserManager sharedUserManager]; - + sd = [SOGoSystemDefaults sharedSystemDefaults]; + enableDomainWithUID = [sd enableDomainWithUID]; domain = [[context activeUser] domain]; - // We sort our array - this is pretty useful for the - // SOGo Integrator extension, among other things. - users = [[um fetchUsersMatching: user inDomain: domain] - sortedArrayUsingSelector: @selector (caseInsensitiveDisplayNameCompare:)]; - for (i = 0; i < [users count]; i++) + domains = [[sd visibleDomainsForDomain: domain] objectEnumerator]; + while (domain) { - currentUser = [users objectAtIndex: i]; - field = [currentUser objectForKey: @"c_uid"]; - if (![field isEqualToString: login]) + // We sort our array - this is pretty useful for the + // SOGo Integrator extension, among other things. + users = [[um fetchUsersMatching: user inDomain: domain] + sortedArrayUsingSelector: @selector (caseInsensitiveDisplayNameCompare:)]; + for (i = 0; i < [users count]; i++) { - [fetch appendFormat: @"%@", - [field stringByEscapingXMLString]]; - field = [currentUser objectForKey: @"cn"]; - [fetch appendFormat: @"%@", - [field stringByEscapingXMLString]]; - field = [currentUser objectForKey: @"c_email"]; - [fetch appendFormat: @"%@", - [field stringByEscapingXMLString]]; - field = [currentUser objectForKey: @"c_info"]; - if ([field length]) - [fetch appendFormat: @"%@", - [field stringByEscapingXMLString]]; - [fetch appendString: @""]; + currentUser = [users objectAtIndex: i]; + field = [currentUser objectForKey: @"c_uid"]; + if (enableDomainWithUID) + field = [NSString stringWithFormat: @"%@@%@", field, domain]; + if (![field isEqualToString: login]) + { + [fetch appendFormat: @"%@", + [field stringByEscapingXMLString]]; + field = [currentUser objectForKey: @"cn"]; + [fetch appendFormat: @"%@", + [field stringByEscapingXMLString]]; + field = [currentUser objectForKey: @"c_email"]; + [fetch appendFormat: @"%@", + [field stringByEscapingXMLString]]; + field = [currentUser objectForKey: @"c_info"]; + if ([field length]) + [fetch appendFormat: @"%@", + [field stringByEscapingXMLString]]; + [fetch appendString: @""]; + } } + domain = [domains nextObject]; } - + return fetch; } diff --git a/SoObjects/SOGo/SOGoUserManager.m b/SoObjects/SOGo/SOGoUserManager.m index e67389444..7ae65a416 100644 --- a/SoObjects/SOGo/SOGoUserManager.m +++ b/SoObjects/SOGo/SOGoUserManager.m @@ -716,7 +716,7 @@ infos = nil; sd = [SOGoSystemDefaults sharedSystemDefaults]; - if ([sd addDomainToUID]) + if ([sd enableDomainWithUID]) { r = [uid rangeOfString: @"@" options: NSBackwardsSearch]; if (r.location != NSNotFound) diff --git a/UI/MainUI/SOGoUserHomePage.m b/UI/MainUI/SOGoUserHomePage.m index c7cc41906..513792ec0 100644 --- a/UI/MainUI/SOGoUserHomePage.m +++ b/UI/MainUI/SOGoUserHomePage.m @@ -378,7 +378,7 @@ um = [SOGoUserManager sharedUserManager]; sd = [SOGoSystemDefaults sharedSystemDefaults]; domain = [[context activeUser] domain]; - uidDomain = [sd addDomainToUID]? domain : nil; + uidDomain = [sd enableDomainWithUID]? domain : nil; users = [self _usersForResults: [um fetchUsersMatching: contact inDomain: domain] inDomain: uidDomain];