From e507023a0336d07c648dd2923f522a71062e5c5e Mon Sep 17 00:00:00 2001 From: sbwalker Date: Fri, 15 Sep 2023 16:23:14 -0400 Subject: [PATCH] fix #3255 - behavior when moving pages to other parents --- Oqtane.Client/Modules/Admin/Pages/Add.razor | 42 ++++++++---------- Oqtane.Client/Modules/Admin/Pages/Edit.razor | 44 +++++++------------ Oqtane.Server/Repository/SettingRepository.cs | 2 +- 3 files changed, 36 insertions(+), 52 deletions(-) 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); }