diff --git a/Oqtane.Client/Modules/Admin/Pages/Add.razor b/Oqtane.Client/Modules/Admin/Pages/Add.razor index 45c0794d..583b62f2 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Add.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Add.razor @@ -322,6 +322,12 @@ } } + if(PagePathIsDeleted(page.Path, page.SiteId, _pageList)) + { + AddModuleMessage(string.Format(Localizer["Message.Page.Deleted"], _path), MessageType.Warning); + return; + } + if (!PagePathIsUnique(page.Path, page.SiteId, _pageList)) { AddModuleMessage(string.Format(Localizer["Message.Page.Exists"], _path), MessageType.Warning); @@ -412,4 +418,9 @@ { return !existingPages.Any(page => page.SiteId == siteId && page.Path == pagePath); } + + private static bool PagePathIsDeleted(string pagePath, int siteId, List existingPages) + { + return existingPages.Any(page => page.SiteId == siteId && page.Path == pagePath && page.IsDeleted == true); + } } diff --git a/Oqtane.Client/Resources/Modules/Admin/Pages/Add.resx b/Oqtane.Client/Resources/Modules/Admin/Pages/Add.resx index 51d01dc9..5f2f31e5 100644 --- a/Oqtane.Client/Resources/Modules/Admin/Pages/Add.resx +++ b/Oqtane.Client/Resources/Modules/Admin/Pages/Add.resx @@ -228,4 +228,7 @@ Appearance + + A page with path {0} already exists for the selected parent page in the Recycle Bin. Either recover the page or remove from the Recycle Bin and create it again. + \ No newline at end of file