Monotone-Parent: dba6030e8ab5f3e8a853dc8c3dc20a3e3fb3973a

Monotone-Revision: c0a9477f1eb52db3cc79a428d99ba7227f71fa3c

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-08-24T18:47:32
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2007-08-24 18:47:32 +00:00
parent b96cff0d99
commit e68bf83d3c
2 changed files with 54 additions and 0 deletions

View File

@ -1,5 +1,16 @@
2007-08-24 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/Appointments/SOGoAppointmentFolder.m ([SOGoAppointmentFolder -aclUsersForObjectAtPath:objectPathArray])
([SOGoAppointmentFolder -aclsForUser:uidforObjectAtPath:objectPathArray])
([SOGoAppointmentFolder -setRoles:rolesforUser:uidforObjectAtPath:objectPathArray])
([SOGoAppointmentFolder
-removeAclsForUsers:usersforObjectAtPath:objectPathArray]):
override those methods to use the "personal" additional directory.
* SoObjects/SOGo/SOGoUserFolder.m ([-ocsPrivateCalendarPath]):
append "/personal" to the calendar path to simulate a single
calendar in a choice of many.
* SoObjects/Mailer/SOGoMailFolder.m ([SOGoMailFolder
-lookupName:_keyinContext:acquire:_acquire]): moved the lookup
methods back here. Moved the folder existence check here, and do

View File

@ -1297,4 +1297,47 @@ static NSNumber *sharedYes = nil;
return @"IPF.Appointment";
}
/* hack until we permit more than 1 cal per user */
- (NSArray *) _fixedPath: (NSArray *) objectPath
{
NSMutableArray *newPath;
newPath = [NSMutableArray arrayWithArray: objectPath];
if ([newPath count] > 2
&& ![[newPath objectAtIndex: 2] isEqualToString: @"personal"])
[newPath insertObject: @"personal" atIndex: 2];
else
[newPath addObject: @"personal"];
return newPath;
}
- (NSArray *) aclUsersForObjectAtPath: (NSArray *) objectPathArray
{
return [super aclUsersForObjectAtPath: [self _fixedPath: objectPathArray]];
}
- (NSArray *) aclsForUser: (NSString *) uid
forObjectAtPath: (NSArray *) objectPathArray
{
return [super aclsForUser: uid
forObjectAtPath: [self _fixedPath: objectPathArray]];
}
- (void) setRoles: (NSArray *) roles
forUser: (NSString *) uid
forObjectAtPath: (NSArray *) objectPathArray
{
[super setRoles: roles
forUser: uid
forObjectAtPath: [self _fixedPath: objectPathArray]];
}
- (void) removeAclsForUsers: (NSArray *) users
forObjectAtPath: (NSArray *) objectPathArray
{
[super removeAclsForUsers: users
forObjectAtPath: [self _fixedPath: objectPathArray]];
}
@end /* SOGoAppointmentFolder */