Monotone-Parent: c69f7f8d6e6f9e8f9e94f61cae6ed7a39e26e747

Monotone-Revision: b3c4fef061776cff263262f03c363766fa58d479

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-11-27T21:06:11
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-11-27 21:06:11 +00:00
parent 733267f6c5
commit 84b93929c2
12 changed files with 119 additions and 134 deletions
+29 -24
View File
@@ -147,34 +147,39 @@
- (WOResponse *) canAccessContentAction
{
#warning IMPROVEMENTS REQUIRED!
NSArray *acls;
// NSEnumerator *userAcls;
// NSString *currentAcl;
/* We want this action to be authorized managed by the SOPE's internal acl
handling. */
return [self responseWith204];
// #warning IMPROVEMENTS REQUIRED!
// NSArray *acls;
// // NSEnumerator *userAcls;
// // NSString *currentAcl;
[self _setupContext];
// [self _setupContext];
// NSLog(@"canAccessContentAction %@, owner %@", subscriptionPointer, owner);
// // NSLog(@"canAccessContentAction %@, owner %@", subscriptionPointer, owner);
if ([login isEqualToString: owner] || [owner isEqualToString: @"nobody"]) {
return [self responseWith204];
}
else {
acls = [clientObject aclsForUser: login];
// userAcls = [acls objectEnumerator];
// currentAcl = [userAcls nextObject];
// while (currentAcl) {
// NSLog(@"ACL login %@, owner %@, folder %@: %@",
// login, owner, baseFolder, currentAcl);
// currentAcl = [userAcls nextObject];
// }
if (([[clientObject folderType] isEqualToString: @"Contact"] && [acls containsObject: SOGoRole_ObjectReader]) ||
([[clientObject folderType] isEqualToString: @"Appointment"] && [acls containsObject: SOGoRole_AuthorizedSubscriber])) {
return [self responseWith204];
}
}
// if ([login isEqualToString: owner] || [owner isEqualToString: @"nobody"]) {
// return [self responseWith204];
// }
// else {
// acls = [clientObject aclsForUser: login];
// // userAcls = [acls objectEnumerator];
// // currentAcl = [userAcls nextObject];
// // while (currentAcl) {
// // NSLog(@"ACL login %@, owner %@, folder %@: %@",
// // login, owner, baseFolder, currentAcl);
// // currentAcl = [userAcls nextObject];
// // }
// if (([[clientObject folderType] isEqualToString: @"Contact"]
// && [acls containsObject: SOGoRole_ObjectViewer]) ||
// ([[clientObject folderType] isEqualToString: @"Appointment"]
// && [acls containsObject: SOGoRole_AuthorizedSubscriber])) {
// return [self responseWith204];
// }
// }
return [self responseWithStatus: 403];
// return [self responseWithStatus: 403];
}
- (WOResponse *) _realFolderActivation: (BOOL) makeActive