Monotone-Parent: 6ea44b1efa1edb28f1218a700087fee83cb79305

Monotone-Revision: 2b0145bf6bbc08cf0fb2fc9d65b3fd914daa72c2

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-12-01T21:13:09
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2011-12-01 21:13:09 +00:00
parent afe94a13c2
commit 0f35c72c24
12 changed files with 221 additions and 0 deletions

View File

@@ -29,6 +29,8 @@
#import <GDLContentStore/GCSFolder.h>
#import <SOGo/NSArray+Utilities.h>
#import <SOGo/SOGoGCSFolder.h>
#import <SOGo/SOGoPermissions.h>
#import <SOGo/SOGoUser.h>
#import "MAPIStoreContext.h"
#import "MAPIStoreTypes.h"
@@ -53,6 +55,7 @@
ASSIGN (versionsMessage,
[SOGoMAPIFSMessage objectWithName: @"versions.plist"
inContainer: propsFolder]);
activeUserRoles = nil;
}
return self;
@@ -66,6 +69,7 @@
ASSIGN (versionsMessage,
[SOGoMAPIFSMessage objectWithName: @"versions.plist"
inContainer: propsFolder]);
activeUserRoles = nil;
}
return self;
@@ -74,6 +78,7 @@
- (void) dealloc
{
[versionsMessage release];
[activeUserRoles release];
[super dealloc];
}
@@ -516,8 +521,38 @@
return deletedKeys;
}
- (NSArray *) activeUserRoles
{
SOGoUser *activeUser;
if (!activeUserRoles)
{
activeUser = [[self context] activeUser];
activeUserRoles = [activeUser rolesForObject: sogoObject
inContext: [context woContext]];
[activeUserRoles retain];
}
return activeUserRoles;
}
- (BOOL) subscriberCanCreateMessages
{
return [[self activeUserRoles] containsObject: SOGoRole_ObjectCreator];
}
- (BOOL) subscriberCanDeleteMessages
{
return [[self activeUserRoles] containsObject: SOGoRole_ObjectEraser];
}
/* subclasses */
- (EOQualifier *) aclQualifier
{
return nil;
}
- (EOQualifier *) componentQualifier
{
[self subclassResponsibility: _cmd];