(fix) correctly handle PreventInvitationsWhitelist

pull/91/head
Ludovic Marcotte 2015-04-08 14:19:31 -04:00 committed by Francis Lachapelle
parent 6f59955340
commit a2c469d46a
1 changed files with 13 additions and 0 deletions

View File

@ -25,6 +25,7 @@
#import <NGObjWeb/WOResponse.h>
#import <SOGo/NSObject+Utilities.h>
#import <SOGo/NSString+Utilities.h>
#import <SOGo/SOGoUser.h>
#import <SOGo/SOGoUserDefaults.h>
#import <SOGo/SOGoUserSettings.h>
@ -136,9 +137,21 @@
- (WOResponse *) jsonSettingsAction
{
SOGoUserSettings *settings;
id v;
settings = [[context activeUser] userSettings];
// We sanitize PreventInvitationsWhitelist if we need to, this is due to the fact
// that SOGo <= 2.2.17 used to store it as a JSON *string* within the JSON-blob -
// sorry about this engineering brain fart!
v = [[settings objectForKey: @"Calendar"] objectForKey: @"PreventInvitationsWhitelist"];
if (v && [v isKindOfClass: [NSString class]])
{
[[settings objectForKey: @"Calendar"] setObject: [v objectFromJSONString]
forKey: @"PreventInvitationsWhitelist"];
}
return [self _makeResponse: [[settings source] values]];
}