fix to allow Theme Settings to be supported in Page Management

This commit is contained in:
sbwalker 2023-06-07 10:50:25 -04:00
parent ce56dfc239
commit 2f5d1cebb0
2 changed files with 59 additions and 59 deletions

View File

@ -193,8 +193,6 @@
<AuditInfo CreatedBy="@_createdby" CreatedOn="@_createdon" ModifiedBy="@_modifiedby" ModifiedOn="@_modifiedon" DeletedBy="@_deletedby" DeletedOn="@_deletedon"></AuditInfo> <AuditInfo CreatedBy="@_createdby" CreatedOn="@_createdon" ModifiedBy="@_modifiedby" ModifiedOn="@_modifiedon" DeletedBy="@_deletedby" DeletedOn="@_deletedon"></AuditInfo>
} }
</TabPanel> </TabPanel>
@if (_page.UserId == null)
{
<TabPanel Name="Permissions" ResourceKey="Permissions"> <TabPanel Name="Permissions" ResourceKey="Permissions">
@if (_permissions != null) @if (_permissions != null)
{ {
@ -224,8 +222,6 @@
</Pager> </Pager>
} }
</TabPanel> </TabPanel>
}
@if (_themeSettingsType != null) @if (_themeSettingsType != null)
{ {
<TabPanel Name="ThemeSettings" Heading="Theme Settings" ResourceKey="ThemeSettings"> <TabPanel Name="ThemeSettings" Heading="Theme Settings" ResourceKey="ThemeSettings">
@ -499,8 +495,6 @@
private void ThemeSettings() private void ThemeSettings()
{ {
_themeSettingsType = null; _themeSettingsType = null;
if (!string.IsNullOrEmpty(PageState.ReturnUrl)) // can only be displayed if invoked from Control Panel
{
var theme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_themetype))); var theme = PageState.Site.Themes.FirstOrDefault(item => item.Themes.Any(themecontrol => themecontrol.TypeName.Equals(_themetype)));
if (theme != null && !string.IsNullOrEmpty(theme.ThemeSettingsType)) if (theme != null && !string.IsNullOrEmpty(theme.ThemeSettingsType))
{ {
@ -517,7 +511,6 @@
_refresh = true; _refresh = true;
} }
} }
}
private async Task SavePage() private async Task SavePage()
{ {

View File

@ -52,6 +52,7 @@
</div> </div>
@code { @code {
private int pageId = -1;
private string resourceType = "Oqtane.Themes.OqtaneTheme.ThemeSettings, Oqtane.Client"; // for localization private string resourceType = "Oqtane.Themes.OqtaneTheme.ThemeSettings, Oqtane.Client"; // for localization
private string _scope = "page"; private string _scope = "page";
private string _login = "-"; private string _login = "-";
@ -60,6 +61,11 @@
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
if (PageState.QueryString.ContainsKey("id"))
{
pageId = int.Parse(PageState.QueryString["id"]);
}
try try
{ {
await LoadSettings(); await LoadSettings();
@ -82,7 +88,8 @@
} }
else else
{ {
var settings = SettingService.MergeSettings(PageState.Site.Settings, PageState.Page.Settings); var settings = await SettingService.GetPageSettingsAsync(pageId);
settings = SettingService.MergeSettings(PageState.Site.Settings, 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", "-");
@ -128,7 +135,7 @@
} }
else else
{ {
var settings = await SettingService.GetPageSettingsAsync(PageState.Page.PageId); var settings = await SettingService.GetPageSettingsAsync(pageId);
if (_login != "-") if (_login != "-")
{ {
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Login", _login); settings = SettingService.SetSetting(settings, GetType().Namespace + ":Login", _login);
@ -141,7 +148,7 @@
{ {
settings = SettingService.SetSetting(settings, GetType().Namespace + ":Footer", _footer); settings = SettingService.SetSetting(settings, GetType().Namespace + ":Footer", _footer);
} }
await SettingService.UpdatePageSettingsAsync(settings, PageState.Page.PageId); await SettingService.UpdatePageSettingsAsync(settings, pageId);
} }
} }
catch (Exception ex) catch (Exception ex)