diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor index 0081e3e8..0a8803bf 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Edit.razor @@ -307,7 +307,8 @@ } // get distinct pages where module exists - var distinctPageIds = PageState.Modules + var modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId); + var distinctPageIds = modules .Where(md => md.ModuleDefinition?.ModuleDefinitionId == _moduleDefinitionId && md.IsDeleted == false) .Select(md => md.PageId) .Distinct(); diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor index 485f027f..89b10381 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor @@ -1,6 +1,7 @@ @namespace Oqtane.Modules.Admin.ModuleDefinitions @inherits ModuleBase @inject NavigationManager NavigationManager +@inject IModuleService ModuleService @inject IModuleDefinitionService ModuleDefinitionService @inject IPackageService PackageService @inject IStringLocalizer Localizer @@ -70,7 +71,7 @@ else } - @if (context.AssemblyName == Constants.ClientId || PageState.Modules.Where(m => m.ModuleDefinition?.ModuleDefinitionId == context.ModuleDefinitionId).FirstOrDefault() != null) + @if (context.AssemblyName == Constants.ClientId || _modules.Where(m => m.ModuleDefinition?.ModuleDefinitionId == context.ModuleDefinitionId).FirstOrDefault() != null) { @SharedLocalizer["Yes"] } @@ -99,6 +100,7 @@ else } @code { + private List _modules; private List _allModuleDefinitions; private List _moduleDefinitions; private List _packages; @@ -111,6 +113,7 @@ else { try { + _modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId); _allModuleDefinitions = await ModuleDefinitionService.GetModuleDefinitionsAsync(PageState.Site.SiteId); _categories = _allModuleDefinitions.SelectMany(m => m.Categories.Split(',')).Distinct().ToList(); await LoadModuleDefinitions(); diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor index 59e386b1..334d9661 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor @@ -415,7 +415,7 @@ _permissions = _page.PermissionList; // page modules - _pageModules = PageState.Modules.Where(m => m.PageId == _page.PageId).ToList(); + _pageModules = PageState.Modules; // audit _createdby = _page.CreatedBy; diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor index c453117b..17279974 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor @@ -73,7 +73,7 @@ } else { - foreach (var module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId)) + foreach (var module in PageState.Modules) { if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, module.PermissionList)) { diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor index 932e5de0..d091327c 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanelInteractive.razor @@ -346,13 +346,13 @@ _moduleId = "-"; } - private void PageChanged(ChangeEventArgs e) + private async Task PageChanged(ChangeEventArgs e) { _pageId = (string)e.Value; if (_pageId != "-") { - _modules = PageState.Modules - .Where(module => module.PageId == int.Parse(_pageId) && + _modules = await ModuleService.GetModulesAsync(PageState.Page.SiteId); + _modules = _modules.Where(module => module.PageId == int.Parse(_pageId) && UserSecurity.IsAuthorized(PageState.User, PermissionNames.View, module.PermissionList) && (_moduleType == "add" || module.ModuleDefinition.IsPortable)) .ToList(); diff --git a/Oqtane.Client/UI/Pane.razor b/Oqtane.Client/UI/Pane.razor index 606a83b9..70226c2e 100644 --- a/Oqtane.Client/UI/Pane.razor +++ b/Oqtane.Client/UI/Pane.razor @@ -43,7 +43,7 @@ else DynamicComponent = builder => { - foreach (Module module in PageState.Modules.Where(item => item.PageId == PageState.Page.PageId)) + foreach (Module module in PageState.Modules) { // set renderid - this allows the framework to determine which components should be rendered when PageState changes if (module.RenderId != PageState.RenderId)