From 0b99dbfc99c74a8e9d6985c4199f30b6d0e153d5 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Mon, 31 Oct 2016 15:12:47 -0400 Subject: [PATCH] Fix SOGoLoginModule when set to "Last used" --- UI/PreferencesUI/UIxJSONPreferences.m | 4 ---- UI/PreferencesUI/UIxPreferences.m | 10 +++++++++- .../js/Preferences/Preferences.service.js | 3 +++ 3 files changed, 12 insertions(+), 5 deletions(-) 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;