From 00d14552b161062886002400b34c1a02c57b308d Mon Sep 17 00:00:00 2001 From: sbwalker Date: Wed, 25 Feb 2026 09:46:05 -0500 Subject: [PATCH] do not display audit info when copying pages --- Oqtane.Client/Modules/Admin/Pages/Edit.razor | 5 +- Oqtane.Server/Controllers/PageController.cs | 62 ++++++++++++-------- 2 files changed, 41 insertions(+), 26 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Pages/Edit.razor b/Oqtane.Client/Modules/Admin/Pages/Edit.razor index 4fe412c5..96ec6395 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Edit.razor @@ -225,7 +225,10 @@

- + @if (!_copy) + { + + }
diff --git a/Oqtane.Server/Controllers/PageController.cs b/Oqtane.Server/Controllers/PageController.cs index 3a367bb2..a23ba365 100644 --- a/Oqtane.Server/Controllers/PageController.cs +++ b/Oqtane.Server/Controllers/PageController.cs @@ -513,35 +513,47 @@ namespace Oqtane.Controllers List pageModules = _pageModules.GetPageModules(fromPage.SiteId).ToList(); foreach (PageModule pm in pageModules.Where(item => item.PageId == fromPage.PageId && !item.Module.AllPages && !item.IsDeleted)) { - Module module = new Module(); - module.SiteId = fromPage.SiteId; - module.PageId = toPageId; - module.ModuleDefinitionName = pm.Module.ModuleDefinitionName; - module.AllPages = false; - if (usePagePermissions) + Module module; + + // determine if module is a shared instance (ie. exists on other pages) + if (!pageModules.Any(item => item.ModuleId == pm.ModuleId && item.PageId != fromPage.PageId)) { - module.PermissionList = toPage.PermissionList; + // create new module + module = new Module(); + module.SiteId = fromPage.SiteId; + module.PageId = toPageId; + module.ModuleDefinitionName = pm.Module.ModuleDefinitionName; + module.AllPages = false; + if (usePagePermissions) + { + module.PermissionList = toPage.PermissionList; + } + else + { + module.PermissionList = pm.Module.PermissionList; + } + module.PermissionList = module.PermissionList.Select(item => new Permission + { + SiteId = item.SiteId, + EntityName = EntityNames.Module, + EntityId = -1, + PermissionName = item.PermissionName, + RoleName = item.RoleName, + UserId = item.UserId, + IsAuthorized = item.IsAuthorized, + }).ToList(); + + module = _modules.AddModule(module); + string content = _modules.ExportModule(pm.ModuleId); + if (content != "") + { + _modules.ImportModule(module.ModuleId, content); + } } else { - module.PermissionList = pm.Module.PermissionList; - } - module.PermissionList = module.PermissionList.Select(item => new Permission - { - SiteId = item.SiteId, - EntityName = EntityNames.Module, - EntityId = -1, - PermissionName = item.PermissionName, - RoleName = item.RoleName, - UserId = item.UserId, - IsAuthorized = item.IsAuthorized, - }).ToList(); - module = _modules.AddModule(module); - - string content = _modules.ExportModule(pm.ModuleId); - if (content != "") - { - _modules.ImportModule(module.ModuleId, content); + // use existing module + module = pm.Module; } PageModule pageModule = new PageModule();