diff --git a/UI/PreferencesUI/UIxJSONPreferences.m b/UI/PreferencesUI/UIxJSONPreferences.m index 05f7d99e0..6ef652a07 100644 --- a/UI/PreferencesUI/UIxJSONPreferences.m +++ b/UI/PreferencesUI/UIxJSONPreferences.m @@ -356,10 +356,6 @@ static SoProduct *preferencesProduct = nil; [values setObject: vacation forKey: @"Vacation"]; } - // Don't expose SOGoRememberLastModule; - // User can edit SOGoLoginModule but SOGoRememberLastModule is managed internally. - [values removeObjectForKey: @"SOGoRememberLastModule"]; - return [self responseWithStatus: 200 andJSONRepresentation: values]; } diff --git a/UI/PreferencesUI/UIxPreferences.m b/UI/PreferencesUI/UIxPreferences.m index 29aa09f55..28f62d645 100644 --- a/UI/PreferencesUI/UIxPreferences.m +++ b/UI/PreferencesUI/UIxPreferences.m @@ -2183,6 +2183,7 @@ static NSArray *reminderValues = nil; NSArray *allKeys, *accounts; NSDictionary *newLabels; NSString *name; + id loginModule; int i; @@ -2190,7 +2191,14 @@ static NSArray *reminderValues = nil; v = [[v mutableCopy] autorelease]; if ([[v objectForKey: @"SOGoLoginModule"] isEqualToString: @"Last"]) - [v setObject: [NSNumber numberWithBool: YES] forKey: @"SOGoRememberLastModule"]; + { + [v setObject: [NSNumber numberWithBool: YES] forKey: @"SOGoRememberLastModule"]; + loginModule = [[[user userDefaults] source] objectForKey: @"SOGoLoginModule"]; + if (loginModule) + [v setObject: loginModule forKey: @"SOGoLoginModule"]; + else + [v removeObjectForKey: @"SOGoLoginModule"]; + } else [v setObject: [NSNumber numberWithBool: NO] forKey: @"SOGoRememberLastModule"]; diff --git a/UI/WebServerResources/js/Preferences/Preferences.service.js b/UI/WebServerResources/js/Preferences/Preferences.service.js index c5c77cdaa..2b92b6da1 100644 --- a/UI/WebServerResources/js/Preferences/Preferences.service.js +++ b/UI/WebServerResources/js/Preferences/Preferences.service.js @@ -25,6 +25,9 @@ data.SOGoMailLabelsColors = labels; + if (data.SOGoRememberLastModule) + data.SOGoLoginModule = "Last"; + // Mail editor autosave is a number of minutes or 0 if disabled data.SOGoMailAutoSave = parseInt(data.SOGoMailAutoSave) || 0;