]> err.no Git - scalable-opengroupware.org/commitdiff
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1191 d1b88da0-ebda-0310...
authorwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Fri, 19 Oct 2007 19:43:15 +0000 (19:43 +0000)
committerwolfgang <wolfgang@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Fri, 19 Oct 2007 19:43:15 +0000 (19:43 +0000)
ChangeLog
SoObjects/SOGo/SOGoUser.m

index 82b6367516926d7f06add76ef8379d4a14a3b9cc..33493d6da1d6990008ab00535d0c35a84cd0b87a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-10-19  Francis Lachapelle  <flachapelle@inverse.ca>
+
+       * SoObjects/SOGo/SOGoUser.m 
+       ([SOGoUser -rolesForObject:objectinContext:context]): allow
+       multiple super usernames to be defined. The user default 
+       SOGoSuperUsername is renamed SOGoSuperUsernames and must be
+       an array.
+
 2007-10-18  Wolfgang Sourdeau  <wsourdeau@inverse.ca>
 
        * SoObjects/SOGo/SOGoWebAuthenticator.m ([SOGoWebAuthenticator
index 9cd0c562b54ab02f7ae469c11b45e9cd500e5925..7f43654f17c90bc32200c97e70dcbcb564b4a36a 100644 (file)
@@ -42,7 +42,7 @@
 static NSTimeZone *serverTimeZone = nil;
 static NSString *fallbackIMAP4Server = nil;
 static NSString *defaultLanguage = nil;
-static NSString *superUsername = nil;
+static NSArray *superUsernames = nil;
 static NSURL *AgenorProfileURL = nil;
 static BOOL acceptAnyUser = NO;
 
@@ -82,7 +82,7 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek";
 
 + (void) initialize
 {
-  NSString *tzName, *nsUsername;
+  NSString *tzName;
   NSUserDefaults *ud;
   NSString *profileURL;
 
@@ -109,11 +109,9 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek";
       if (!defaultLanguage)
        ASSIGN (defaultLanguage, @"English");
     }
-  if (!superUsername)
+  if (!superUsernames)
     {
-      nsUsername = [ud stringForKey: @"SOGoSuperUsername"];
-      if ([nsUsername length] > 0)
-       ASSIGN (superUsername, nsUsername);
+      superUsernames = [ud arrayForKey: @"SOGoSuperUsernames"];
     }
 
   acceptAnyUser = ([[ud stringForKey: @"SOGoAuthentificationMethod"]
@@ -569,7 +567,7 @@ NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek";
   if (sogoRoles)
     [rolesForObject addObjectsFromArray: sogoRoles];
 
-  if ((superUsername && [login isEqualToString: superUsername])
+  if ((superUsernames && [superUsernames containsObject: login])
       || [[object ownerInContext: context] isEqualToString: login])
     [rolesForObject addObject: SoRole_Owner];
   if ([object isKindOfClass: [SOGoObject class]])