diff --git a/Oqtane.Client/UI/Pane.razor b/Oqtane.Client/UI/Pane.razor index d9f4f299..30b4f0f6 100644 --- a/Oqtane.Client/UI/Pane.razor +++ b/Oqtane.Client/UI/Pane.razor @@ -58,7 +58,11 @@ else } if (Name.ToLower() == pane.ToLower()) { - Module module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId); + Module module = PageState.Modules.FirstOrDefault(item => item.PageId == PageState.Page.PageId && item.ModuleId == PageState.ModuleId); + if (module == null) + { + module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId); + } if (module != null) { var moduleType = Type.GetType(module.ModuleType); @@ -107,8 +111,12 @@ else { if (PageState.ModuleId != -1) { - Module module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId); - if (module != null && module.Pane.ToLower() == Name.ToLower()) + Module module = PageState.Modules.FirstOrDefault(item => item.PageId == PageState.Page.PageId && item.ModuleId == PageState.ModuleId); + if (module == null) + { + module = PageState.Modules.FirstOrDefault(item => item.ModuleId == PageState.ModuleId); + } + if (module != null && module.Pane.ToLower() == Name.ToLower()) { // check if user is authorized to view module if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList)) diff --git a/Oqtane.Server/Repository/PermissionRepository.cs b/Oqtane.Server/Repository/PermissionRepository.cs index aad7547b..ba26537c 100644 --- a/Oqtane.Server/Repository/PermissionRepository.cs +++ b/Oqtane.Server/Repository/PermissionRepository.cs @@ -36,9 +36,10 @@ namespace Oqtane.Repository { if (permission.RoleId != null && string.IsNullOrEmpty(permission.RoleName)) { - permission.RoleName = roles.Find(item => item.RoleId == permission.RoleId).Name; + permission.RoleName = roles.Find(item => item.RoleId == permission.RoleId)?.Name; } } + permissions = permissions.Where(item => item.UserId != null || item.RoleName != null).ToList(); entry.SlidingExpiration = TimeSpan.FromMinutes(30); return permissions; });