Monotone-Parent: e9ec1d1a0873444afcde4482de5bd16450455982

Monotone-Revision: 3f296062919cfbbae0e24137aa3637f886a274b3

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-02-22T21:19:29
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2008-02-22 21:19:29 +00:00
parent 9e408172b3
commit 374474e946
4 changed files with 270 additions and 66 deletions
+10 -47
View File
@@ -33,43 +33,19 @@
#import "UIxObjectActions.h"
static BOOL sendACLAdvisories = NO;
@implementation UIxObjectActions
+ (void) initialize
{
NSUserDefaults *ud;
ud = [NSUserDefaults standardUserDefaults];
sendACLAdvisories = [ud boolForKey: @"SOGoACLsSendEMailNotifications"];
}
- (WOResponse *) addUserInAclsAction
{
WOResponse *response;
WORequest *request;
NSString *uid;
unsigned int code;
LDAPUserManager *um;
SOGoObject *clientObject;
code = 403;
request = [context request];
uid = [request formValueForKey: @"uid"];
if ([uid length] > 0)
{
um = [LDAPUserManager sharedUserManager];
if ([um contactInfosForUserWithUIDorEmail: uid])
{
clientObject = [self clientObject];
[clientObject setRoles: [clientObject aclsForUser: uid]
forUser: uid];
if (sendACLAdvisories)
[clientObject sendACLAdditionAdvisoryToUser: uid];
code = 204;
}
}
uid = [[context request] formValueForKey: @"uid"];
if ([[self clientObject] addUserInAcls: uid])
code = 204;
else
code = 403;
response = [context response];
[response setStatus: code];
@@ -80,27 +56,14 @@ static BOOL sendACLAdvisories = NO;
- (WOResponse *) removeUserFromAclsAction
{
WOResponse *response;
WORequest *request;
NSString *uid;
unsigned int code;
LDAPUserManager *um;
SOGoObject *co;
code = 403;
request = [context request];
uid = [request formValueForKey: @"uid"];
if ([uid length] > 0)
{
um = [LDAPUserManager sharedUserManager];
if ([um contactInfosForUserWithUIDorEmail: uid])
{
co = [self clientObject];
[co removeAclsForUsers: [NSArray arrayWithObject: uid]];
if (sendACLAdvisories)
[co sendACLRemovalAdvisoryToUser: uid];
code = 204;
}
}
uid = [[context request] formValueForKey: @"uid"];
if ([[self clientObject] removeUserFromAcls: uid])
code = 204;
else
code = 403;
response = [context response];
[response setStatus: code];