From 26ec3fc7cf79147b6be8a14d384ca2b4dc0a28f3 Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Wed, 28 Sep 2022 13:55:12 -0400 Subject: [PATCH] fix #2426 - error in recycle bin --- .../Modules/Admin/RecycleBin/Index.razor | 149 +++++++++--------- .../Modules/Admin/RecycleBin/Index.resx | 16 +- Oqtane.Server/Pages/_Host.cshtml | 3 + 3 files changed, 87 insertions(+), 81 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor b/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor index 34a46b6c..51752e84 100644 --- a/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor +++ b/Oqtane.Client/Modules/Admin/RecycleBin/Index.razor @@ -7,75 +7,77 @@ @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer - - - @if (_pages == null) - { -
-

@Localizer["NoPage.Deleted"]

- } - else - { - -
-   -   - @SharedLocalizer["Name"] - @Localizer["DeletedBy"] - @Localizer["DeletedOn"] -
- - - - @context.Name - @context.DeletedBy - @context.DeletedOn - -
- @if (_pages.Any()) - { -
- } - } -
- - @if (_modules == null) - { -
-

@Localizer["NoModule.Deleted"]

- } - else - { - -
-   -   - @Localizer["Page"] - @Localizer["Module"] - @Localizer["DeletedBy"] - @Localizer["DeletedOn"] -
- - - - @_pages.Find(item => item.PageId == context.PageId).Name - @context.Title - @context.DeletedBy - @context.DeletedOn - -
- @if (_modules.Any()) - { -
- } - - } -
-
+@if (_pages == null || _modules == null) +{ +

@SharedLocalizer["Loading"]

+} +else +{ + + + @if (!_pages.Where(item => item.IsDeleted).Any()) + { +
+

@Localizer["NoPage.Deleted"]

+ } + else + { + +
+   +   + @SharedLocalizer["Name"] + @Localizer["DeletedBy"] + @Localizer["DeletedOn"] +
+ + + + @context.Name + @context.DeletedBy + @context.DeletedOn + +
+
+ + } +
+ + @if (!_modules.Where(item => item.IsDeleted).Any()) + { +
+

@Localizer["NoModule.Deleted"]

+ } + else + { + +
+   +   + @Localizer["Page"] + @Localizer["Module"] + @Localizer["DeletedBy"] + @Localizer["DeletedOn"] +
+ + + + @_pages.Find(item => item.PageId == context.PageId).Name + @context.Title + @context.DeletedBy + @context.DeletedOn + +
+
+ + } +
+
+} @code { - private List _pages; - private List _modules; + private List _pages; + private List _modules; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; @@ -95,10 +97,7 @@ private async Task Load() { _pages = await PageService.GetPagesAsync(PageState.Site.SiteId); - _pages = _pages.Where(item => item.IsDeleted).ToList(); - _modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId); - _modules = _modules.Where(item => item.IsDeleted).ToList(); } private async Task RestorePage(Page page) @@ -141,7 +140,7 @@ try { ModuleInstance.ShowProgressIndicator(); - foreach (Page page in _pages) + foreach (Page page in _pages.Where(item => item.IsDeleted)) { await PageService.DeletePageAsync(page.PageId); await logger.LogInformation("Page Permanently Deleted {Page}", page); @@ -184,9 +183,8 @@ try { await PageModuleService.DeletePageModuleAsync(module.PageModuleId); - // check if there are any remaining module instances in the site - _modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId); + // check if there are any remaining module instances in the site if (!_modules.Exists(item => item.ModuleId == module.ModuleId)) { await ModuleService.DeleteModuleAsync(module.ModuleId); @@ -208,12 +206,11 @@ try { ModuleInstance.ShowProgressIndicator(); - foreach (Module module in _modules) + foreach (Module module in _modules.Where(item => item.IsDeleted)) { await PageModuleService.DeletePageModuleAsync(module.PageModuleId); - // check if there are any remaining module instances in the site - _modules = await ModuleService.GetModulesAsync(PageState.Site.SiteId); + // check if there are any remaining module instances in the site if (!_modules.Exists(item => item.ModuleId == module.ModuleId)) { await ModuleService.DeleteModuleAsync(module.ModuleId); diff --git a/Oqtane.Client/Resources/Modules/Admin/RecycleBin/Index.resx b/Oqtane.Client/Resources/Modules/Admin/RecycleBin/Index.resx index 864b7170..25184660 100644 --- a/Oqtane.Client/Resources/Modules/Admin/RecycleBin/Index.resx +++ b/Oqtane.Client/Resources/Modules/Admin/RecycleBin/Index.resx @@ -1,4 +1,4 @@ - +