Merge pull request #1674 from sbwalker/dev

fix Oqtane theme settings for page scope
This commit is contained in:
Shaun Walker 2021-09-20 17:17:09 -04:00 committed by GitHub
commit a0580f6861
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -72,22 +72,21 @@
private async Task LoadSettings() private async Task LoadSettings()
{ {
await Task.Yield();
Dictionary<string, string> settings;
if (_scope == "site") if (_scope == "site")
{ {
settings = PageState.Site.Settings; var settings = PageState.Site.Settings;
_login = SettingService.GetSetting(settings, GetType().Namespace + ":Login", "true"); _login = SettingService.GetSetting(settings, GetType().Namespace + ":Login", "true");
_register = SettingService.GetSetting(settings, GetType().Namespace + ":Register", "true"); _register = SettingService.GetSetting(settings, GetType().Namespace + ":Register", "true");
_footer = SettingService.GetSetting(settings, GetType().Namespace + ":Footer", "false"); _footer = SettingService.GetSetting(settings, GetType().Namespace + ":Footer", "false");
} }
else else
{ {
settings = SettingService.MergeSettings(PageState.Site.Settings, PageState.Page.Settings); var settings = SettingService.MergeSettings(PageState.Site.Settings, PageState.Page.Settings);
_login = SettingService.GetSetting(settings, GetType().Namespace + ":Login", "-"); _login = SettingService.GetSetting(settings, GetType().Namespace + ":Login", "-");
_register = SettingService.GetSetting(settings, GetType().Namespace + ":Register", "-"); _register = SettingService.GetSetting(settings, GetType().Namespace + ":Register", "-");
_footer = SettingService.GetSetting(settings, GetType().Namespace + ":Footer", "-"); _footer = SettingService.GetSetting(settings, GetType().Namespace + ":Footer", "-");
} }
await Task.Yield();
} }
private async Task ScopeChanged(ChangeEventArgs eventArgs) private async Task ScopeChanged(ChangeEventArgs eventArgs)
@ -109,16 +108,9 @@
{ {
try try
{ {
Dictionary<string, string> settings;
if (_scope == "site") if (_scope == "site")
{ {
settings = PageState.Site.Settings; var settings = PageState.Site.Settings;
}
else
{
settings = PageState.Page.Settings;
}
if (_login != "-") if (_login != "-")
{ {
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Login", _login, true); settings = SettingService.SetSetting(settings, GetType().Namespace + ":Login", _login, true);
@ -131,13 +123,23 @@
{ {
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Footer", _footer, true); settings = SettingService.SetSetting(settings, GetType().Namespace + ":Footer", _footer, true);
} }
if (_scope == "site")
{
await SettingService.UpdateSiteSettingsAsync(settings, PageState.Site.SiteId); await SettingService.UpdateSiteSettingsAsync(settings, PageState.Site.SiteId);
} }
else else
{ {
var settings = PageState.Page.Settings;
if (_login != "-")
{
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Login", _login);
}
if (_register != "-")
{
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Register", _register);
}
if (_footer != "-")
{
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Footer", _footer);
}
await SettingService.UpdatePageSettingsAsync(settings, PageState.Page.PageId); await SettingService.UpdatePageSettingsAsync(settings, PageState.Page.PageId);
} }
} }