mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-23 04:15:26 +00:00
Monotone-Parent: ebe6d4bf201db3d567631a28731d5d2345f7ab9e
Monotone-Revision: 859bf2013653e0366336126b6d00368fe0dbc147 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2012-02-21T16:19:46 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -398,6 +398,69 @@ static SoSecurityManager *sm = nil;
|
||||
return componentSet;
|
||||
}
|
||||
|
||||
- (NSString *) _davDefaultClassWithSelector: (SEL) selector
|
||||
{
|
||||
SOGoUser *ownerUser;
|
||||
SOGoUserDefaults *defaults;
|
||||
NSString *classification;
|
||||
|
||||
ownerUser = [SOGoUser userWithLogin: [self ownerInContext: context]];
|
||||
defaults = [ownerUser userDefaults];
|
||||
classification = [defaults performSelector: selector];
|
||||
|
||||
return classification;
|
||||
}
|
||||
|
||||
- (NSException *) _davSetDefaultClass: (NSString *) newClass
|
||||
withSelector: (SEL) selector
|
||||
{
|
||||
NSException *error;
|
||||
static NSArray *validClassifications = nil;
|
||||
SOGoUser *ownerUser;
|
||||
SOGoUserDefaults *defaults;
|
||||
|
||||
if (!validClassifications)
|
||||
validClassifications = [[NSArray alloc] initWithObjects: @"PUBLIC",
|
||||
@"CONFIDENTIAL", @"PRIVATE", nil];
|
||||
|
||||
if (newClass && [validClassifications containsObject: newClass])
|
||||
{
|
||||
error = nil;
|
||||
ownerUser = [SOGoUser userWithLogin: [self ownerInContext: context]];
|
||||
defaults = [ownerUser userDefaults];
|
||||
[defaults performSelector: selector withObject: newClass];
|
||||
[defaults synchronize];
|
||||
}
|
||||
else
|
||||
error = [NSException exceptionWithHTTPStatus: 403
|
||||
reason: @"invalid"
|
||||
@" classification value"];
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
- (NSString *) davEventsDefaultClassification
|
||||
{
|
||||
return [self _davDefaultClassWithSelector: @selector (calendarEventsDefaultClassification)];
|
||||
}
|
||||
|
||||
- (NSException *) setDavEventsDefaultClassification: (NSString *) newClass
|
||||
{
|
||||
return [self _davSetDefaultClass: newClass
|
||||
withSelector: @selector (setCalendarEventsDefaultClassification:)];
|
||||
}
|
||||
|
||||
- (NSString *) davTasksDefaultClassification
|
||||
{
|
||||
return [self _davDefaultClassWithSelector: @selector (calendarTasksDefaultClassification)];
|
||||
}
|
||||
|
||||
- (NSException *) setDavTasksDefaultClassification: (NSString *) newClass
|
||||
{
|
||||
return [self _davSetDefaultClass: newClass
|
||||
withSelector: @selector (setCalendarTasksDefaultClassification:)];
|
||||
}
|
||||
|
||||
/* This method fixes an issue that occurred previously in
|
||||
_migrateWebCalendarsSettings, where the active user, rather than the
|
||||
owner's login would be taken to compose the expected key prefix, leading to
|
||||
|
||||
Reference in New Issue
Block a user