improvement for updating private/public Settings
This commit is contained in:
parent
11002efc02
commit
3a8f4199cd
@ -131,12 +131,21 @@ namespace Oqtane.Services
|
||||
foreach (KeyValuePair<string, string> 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<string, string>();
|
||||
}
|
||||
settingValue = (isPrivate) ? "[Private]" + settingValue : settingValue;
|
||||
settingValue = (isPrivate) ? "[Private]" + settingValue : "[Public]" + settingValue;
|
||||
if (settings.ContainsKey(settingName))
|
||||
{
|
||||
settings[settingName] = settingValue;
|
||||
|
Reference in New Issue
Block a user