From 3a8f4199cd7541d8242c035751c26e53db2767b8 Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Sat, 15 Jan 2022 09:44:36 -0500 Subject: [PATCH] improvement for updating private/public Settings --- Oqtane.Client/Services/SettingService.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Oqtane.Client/Services/SettingService.cs b/Oqtane.Client/Services/SettingService.cs index 8f25bbaf..1c62a41c 100644 --- a/Oqtane.Client/Services/SettingService.cs +++ b/Oqtane.Client/Services/SettingService.cs @@ -131,12 +131,21 @@ namespace Oqtane.Services foreach (KeyValuePair kvp in settings) { string value = kvp.Value; + bool modified = false; bool isprivate = false; + // manage settings modified with SetSetting method if (value.StartsWith("[Private]")) { - value = value.Substring(9); // remove [Private] + modified = true; isprivate = true; + value = value.Substring(9); + } + if (value.StartsWith("[Public]")) + { + modified = true; + isprivate = false; + value = value.Substring(8); } Setting setting = settingsList.FirstOrDefault(item => item.SettingName.Equals(kvp.Key, StringComparison.OrdinalIgnoreCase)); @@ -152,7 +161,7 @@ namespace Oqtane.Services } else { - if (setting.SettingValue != value) + if (setting.SettingValue != value || (modified && setting.IsPrivate != isprivate)) { setting.SettingValue = value; setting.IsPrivate = isprivate; @@ -204,7 +213,7 @@ namespace Oqtane.Services { settings = new Dictionary(); } - settingValue = (isPrivate) ? "[Private]" + settingValue : settingValue; + settingValue = (isPrivate) ? "[Private]" + settingValue : "[Public]" + settingValue; if (settings.ContainsKey(settingName)) { settings[settingName] = settingValue;