UI/Common/UIxAclEditor.h
Monotone-Parent: 371b9011b0d18b3b6bd8e83381cd49470d3188e3 Monotone-Revision: b51a5c431fe9609d158da1558ce1177eb4302f36 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-03-29T18:09:18 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
parent
19a7c8e230
commit
8e99b855e1
|
@ -44,7 +44,8 @@
|
||||||
users = [NSMutableArray new];
|
users = [NSMutableArray new];
|
||||||
delegates = [NSMutableArray new];
|
delegates = [NSMutableArray new];
|
||||||
assistants = [NSMutableArray new];
|
assistants = [NSMutableArray new];
|
||||||
ownerCN = nil;
|
ownerLogin = nil;
|
||||||
|
currentUser = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
|
@ -55,8 +56,8 @@
|
||||||
[users release];
|
[users release];
|
||||||
[delegates release];
|
[delegates release];
|
||||||
[assistants release];
|
[assistants release];
|
||||||
if (ownerCN)
|
[ownerLogin release];
|
||||||
[ownerCN release];
|
[currentUser release];
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,15 +74,31 @@
|
||||||
return acls;
|
return acls;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *) ownerCN
|
- (NSString *) ownerLogin
|
||||||
{
|
{
|
||||||
if (!ownerCN)
|
if (!ownerLogin)
|
||||||
{
|
{
|
||||||
ownerCN = [[self clientObject] ownerInContext: context];
|
ownerLogin = [[self clientObject] ownerInContext: context];
|
||||||
[ownerCN retain];
|
[ownerLogin retain];
|
||||||
}
|
}
|
||||||
|
|
||||||
return ownerCN;
|
return ownerLogin;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) _displayNameForUID: (NSString *) uid
|
||||||
|
{
|
||||||
|
AgenorUserManager *um;
|
||||||
|
|
||||||
|
um = [AgenorUserManager sharedUserManager];
|
||||||
|
|
||||||
|
return [NSString stringWithFormat: @"%@ <%@>",
|
||||||
|
[um getCNForUID: uid],
|
||||||
|
[um getEmailForUID: uid]];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) ownerName
|
||||||
|
{
|
||||||
|
return [self _displayNameForUID: [self ownerLogin]];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) _prepareUsers
|
- (void) _prepareUsers
|
||||||
|
@ -89,7 +106,6 @@
|
||||||
NSEnumerator *aclsEnum;
|
NSEnumerator *aclsEnum;
|
||||||
AgenorUserManager *um;
|
AgenorUserManager *um;
|
||||||
NSDictionary *currentAcl;
|
NSDictionary *currentAcl;
|
||||||
iCalPerson *currentUser;
|
|
||||||
NSString *currentUID;
|
NSString *currentUID;
|
||||||
|
|
||||||
aclsEnum = [[self aclsForFolder] objectEnumerator];
|
aclsEnum = [[self aclsForFolder] objectEnumerator];
|
||||||
|
@ -102,15 +118,15 @@
|
||||||
publishInFreeBusy = YES;
|
publishInFreeBusy = YES;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
currentUser = [um iCalPersonWithUid: currentUID];
|
if (![[um getCNForUID: currentUID]
|
||||||
if (![[currentUser cn] isEqualToString: [self ownerCN]])
|
isEqualToString: [self ownerLogin]])
|
||||||
{
|
{
|
||||||
if ([[currentAcl objectForKey: @"c_role"]
|
if ([[currentAcl objectForKey: @"c_role"]
|
||||||
isEqualToString: SOGoRole_Delegate])
|
isEqualToString: SOGoRole_Delegate])
|
||||||
[delegates addObject: [currentUser cn]];
|
[delegates addObject: currentUID];
|
||||||
else
|
else
|
||||||
[assistants addObject: [currentUser cn]];
|
[assistants addObject: currentUID];
|
||||||
[users addObject: currentUser];
|
[users addObject: currentUID];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
currentAcl = [aclsEnum nextObject];
|
currentAcl = [aclsEnum nextObject];
|
||||||
|
@ -127,6 +143,21 @@
|
||||||
return users;
|
return users;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) setCurrentUser: (NSString *) newCurrentUser
|
||||||
|
{
|
||||||
|
ASSIGN (currentUser, newCurrentUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) currentUser
|
||||||
|
{
|
||||||
|
return currentUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString *) currentUserDisplayName
|
||||||
|
{
|
||||||
|
return [self _displayNameForUID: currentUser];
|
||||||
|
}
|
||||||
|
|
||||||
- (NSArray *) delegates
|
- (NSArray *) delegates
|
||||||
{
|
{
|
||||||
if (!prepared)
|
if (!prepared)
|
||||||
|
@ -161,7 +192,11 @@
|
||||||
|
|
||||||
- (NSString *) toolbar
|
- (NSString *) toolbar
|
||||||
{
|
{
|
||||||
return (([[self ownerCN] isEqualToString: [[context activeUser] login]])
|
NSString *currentLogin;
|
||||||
|
|
||||||
|
currentLogin = [[context activeUser] login];
|
||||||
|
|
||||||
|
return (([[self ownerLogin] isEqualToString: currentLogin])
|
||||||
? @"SOGoAclOwner.toolbar" : @"SOGoAclAssistant.toolbar");
|
? @"SOGoAclOwner.toolbar" : @"SOGoAclAssistant.toolbar");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue