Monotone-Parent: 83e3a0d3136161f458484da0aa20e8fb8b6b2729

Monotone-Revision: 9872ae08d0e84f59ec67ccfa772caf1a9d1c613f

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-04-01T17:48:16
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2011-04-01 17:48:16 +00:00
parent 2b4576c41d
commit 5bdbc63603
3 changed files with 48 additions and 9 deletions

View File

@ -1,3 +1,12 @@
2011-04-01 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoObject.m (-davComplianceClassesInContext:):
added "calendar-auto-schedule", "calendar-proxy" and "calenderserver-principal-property
* Main/SOGo+DAV.m (-davComplianceClassesInContext:): overwritten
with same code as in SOGoObject.
(-davPrincipalCollectionSet): added dav property.
2011-03-31 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* OpenChange/MAPIStoreCalendarMessage.m

View File

@ -24,6 +24,7 @@
#import <Foundation/NSEnumerator.h>
#import <NGObjWeb/NSException+HTTP.h>
#import <NGObjWeb/SoObject+SoDAV.h>
#import <NGObjWeb/WOContext+SoObjects.h>
#import <NGObjWeb/WORequest.h>
#import <NGExtensions/NSObject+Logs.h>
@ -37,6 +38,7 @@
#import <SOGo/NSObject+DAV.h>
#import <SOGo/NSObject+Utilities.h>
#import <SOGo/NSString+DAV.h>
#import <SOGo/WORequest+SOGo.h>
#import <SOGo/WOResponse+SOGo.h>
#import <SOGo/SOGoPermissions.h>
#import <SOGo/SOGoUser.h>
@ -540,18 +542,46 @@
- (NSArray *) davComplianceClassesInContext: (WOContext *) localContext
{
static NSArray *classes = nil;
static NSMutableArray *newClasses = nil;
NSArray *selfClasses;
if (!classes)
if (!newClasses)
{
classes = [NSArray arrayWithObjects: @"access-control",
@"calendar-access", @"calendar-schedule",
@"calendar-proxy", @"addressbook",
nil];
[classes retain];
newClasses
= [[super davComplianceClassesInContext: localContext] mutableCopy];
selfClasses = [NSArray arrayWithObjects: @"access-control", @"addressbook",
@"calendar-access", @"calendar-auto-schedule",
@"calendar-schedule", nil];
[newClasses addObjectsFromArray: selfClasses];
}
return classes;
return newClasses;
}
- (SOGoWebDAVValue *) davPrincipalCollectionSet
{
NSString *davURL;
NSDictionary *collectionHREF;
NSString *classes;
WOContext *context;
context = [self context];
if ([[context request] isICal4])
{
classes = [[self davComplianceClassesInContext: context]
componentsJoinedByString: @", "];
[[context response] setHeader: classes forKey: @"dav"];
}
/* WOApplication has no support for the DAV methods we define here so we
use the user's principal object as a reference */
davURL = [self davURLAsString];
collectionHREF = davElementWithContent (@"href", XMLNS_WEBDAV, davURL);
return [davElementWithContent (@"principal-collection-set",
XMLNS_WEBDAV,
[NSArray arrayWithObject: collectionHREF])
asWebDAVValue];
}
@end

View File

@ -1115,7 +1115,7 @@
= [[super davComplianceClassesInContext: localContext] mutableCopy];
selfClasses = [NSArray arrayWithObjects: @"access-control",
@"calendar-access", @"calendar-schedule",
@"calendar-proxy", nil];
@"calendar-auto-schedule", nil];
[newClasses addObjectsFromArray: selfClasses];
}