Preferences saving support
parent
2edfd1863b
commit
96d2a4cea8
|
@ -1,8 +1,6 @@
|
||||||
/* SOGoDefaultsSource.h - this file is part of SOGo
|
/* SOGoDefaultsSource.h - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Inverse inc.
|
* Copyright (C) 2009-2015 Inverse inc.
|
||||||
*
|
|
||||||
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* This file is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
/* SOGoDefaultsSource.m - this file is part of SOGo
|
/* SOGoDefaultsSource.m - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Inverse inc.
|
* Copyright (C) 2009-2015 Inverse inc.
|
||||||
*
|
|
||||||
* Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* This file is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SOGoUserDefaults.m - this file is part of SOGo
|
/* SOGoUserDefaults.m - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009-2014 Inverse inc.
|
* Copyright (C) 2009-2015 Inverse inc.
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* This file is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* UIxPreferences.h - this file is part of SOGo
|
/* UIxPreferences.h - this file is part of SOGo
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2013 Inverse inc.
|
* Copyright (C) 2007-2015 Inverse inc.
|
||||||
*
|
*
|
||||||
* This file is free software; you can redistribute it and/or modify
|
* This file is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *) userLongDateFormat;
|
//- (NSString *) userLongDateFormat;
|
||||||
- (BOOL) isSieveServerAvailable;
|
- (BOOL) isSieveServerAvailable;
|
||||||
- (id) sieveClient;
|
- (id) sieveClient;
|
||||||
|
|
||||||
|
|
|
@ -58,14 +58,6 @@
|
||||||
|
|
||||||
#import "UIxPreferences.h"
|
#import "UIxPreferences.h"
|
||||||
|
|
||||||
#warning this class is not finished
|
|
||||||
/* remaining:
|
|
||||||
default event length
|
|
||||||
default snooze length
|
|
||||||
refresh calendar every X minutes
|
|
||||||
workweek = from -> to
|
|
||||||
identities */
|
|
||||||
|
|
||||||
static NSArray *reminderItems = nil;
|
static NSArray *reminderItems = nil;
|
||||||
static NSArray *reminderValues = nil;
|
static NSArray *reminderValues = nil;
|
||||||
|
|
||||||
|
@ -1889,7 +1881,24 @@ static NSArray *reminderValues = nil;
|
||||||
|
|
||||||
- (id <WOActionResults>) saveAction
|
- (id <WOActionResults>) saveAction
|
||||||
{
|
{
|
||||||
//return [self responseWithStatus: 200 andJSONRepresentation: data];
|
SOGoUser *user;
|
||||||
|
id o, v;
|
||||||
|
|
||||||
|
o = [[[context request] contentAsString] objectFromJSONString];
|
||||||
|
user = [[self context] activeUser];
|
||||||
|
|
||||||
|
if ((v = [o objectForKey: @"defaults"]))
|
||||||
|
{
|
||||||
|
[[[user userDefaults] source] setValues: v];
|
||||||
|
[[user userDefaults] synchronize];
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((v = [o objectForKey: @"settings"]))
|
||||||
|
{
|
||||||
|
[[[user userSettings] source] setValues: v];
|
||||||
|
[[user userSettings] synchronize];
|
||||||
|
}
|
||||||
|
|
||||||
return [self responseWithStatus: 200];
|
return [self responseWithStatus: 200];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,18 +88,23 @@
|
||||||
Preferences.prototype.$omit = function(deep) {
|
Preferences.prototype.$omit = function(deep) {
|
||||||
var preferences = {};
|
var preferences = {};
|
||||||
angular.forEach(this, function(value, key) {
|
angular.forEach(this, function(value, key) {
|
||||||
if (key == 'refs') {
|
if (key != 'constructor' && key[0] != '$') {
|
||||||
preferences.refs = _.map(value, function(o) {
|
|
||||||
return o.$omit(deep);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else if (key != 'constructor' && key[0] != '$') {
|
|
||||||
if (deep)
|
if (deep)
|
||||||
preferences[key] = angular.copy(value);
|
preferences[key] = angular.copy(value);
|
||||||
else
|
else
|
||||||
preferences[key] = value;
|
preferences[key] = value;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// We swap _$key -> $key to avoid an Angular bug (https://github.com/angular/angular.js/issues/6266)
|
||||||
|
var labels = _.object(_.map(preferences.defaults.SOGoMailLabelsColors, function(value, key) {
|
||||||
|
if (key.charAt(0) == '_' && key.charAt(1) == '$')
|
||||||
|
return [key.substring(1), value];
|
||||||
|
return [key, value];
|
||||||
|
}));
|
||||||
|
|
||||||
|
preferences.defaults.SOGoMailLabelsColors = labels;
|
||||||
|
|
||||||
return preferences;
|
return preferences;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue