diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor
index 78bdd021..c55d4ec0 100644
--- a/Oqtane.Client/Modules/Admin/Pages/Add.razor
+++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor
@@ -40,9 +40,9 @@
@if (_children != null && _children.Count > 0 && (_insert == "<" || _insert == ">"))
{
@@ -324,7 +327,6 @@
{
try
{
- _children = PageState.Pages.Where(item => item.ParentId == null).ToList();
_pageId = Int32.Parse(PageState.QueryString["id"]);
_page = await PageService.GetPageAsync(_pageId);
_icons = await SystemService.GetIconsAsync();
@@ -342,6 +344,14 @@
_parentid = _page.ParentId.ToString();
_parent = PageState.Pages.FirstOrDefault(item => item.PageId == _page.ParentId);
}
+ _children = new List
();
+ foreach (Page p in PageState.Pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == int.Parse(_parentid))))
+ {
+ if (p.PageId != _pageId && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
+ {
+ _children.Add(p);
+ }
+ }
_currentparentid = _parentid;
_isnavigation = _page.IsNavigation.ToString();
_isclickable = _page.IsClickable.ToString();
@@ -417,34 +427,14 @@
{
_parentid = (string)e.Value;
_children = new List();
- if (_parentid == "-1")
+ foreach (Page p in PageState.Pages.Where(item => (_parentid == "-1" && item.ParentId == null) || (item.ParentId == int.Parse(_parentid))))
{
- foreach (Page p in PageState.Pages.Where(item => item.ParentId == null))
+ if (p.PageId != _pageId && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
{
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
- {
- _children.Add(p);
- }
+ _children.Add(p);
}
}
- else
- {
- foreach (Page p in PageState.Pages.Where(item => item.ParentId == int.Parse(_parentid)))
- {
- if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, p.PermissionList))
- {
- _children.Add(p);
- }
- }
- }
- if (_parentid == _currentparentid)
- {
- _insert = "=";
- }
- else
- {
- _insert = ">>";
- }
+ _insert = (_parentid == _currentparentid) ? "=" : ">>";
StateHasChanged();
}
catch (Exception ex)
diff --git a/Oqtane.Server/Repository/SettingRepository.cs b/Oqtane.Server/Repository/SettingRepository.cs
index 3b354dd2..2fdcbae1 100644
--- a/Oqtane.Server/Repository/SettingRepository.cs
+++ b/Oqtane.Server/Repository/SettingRepository.cs
@@ -148,7 +148,7 @@ namespace Oqtane.Repository
private void ManageCache(string EntityName)
{
- if (EntityName == EntityNames.Site)
+ if (EntityName == EntityNames.Site && _tenantManager.GetAlias() != null)
{
_cache.Remove(Constants.HttpContextSiteSettingsKey + _tenantManager.GetAlias().SiteKey);
}