From ab564f72443bb837d34df30ff4c55a1e6bbc7bbc Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Mon, 4 Nov 2019 23:29:35 -0500 Subject: [PATCH] modified all admin UIs to position action buttons on the left side of grids and implemented ActionDialog throughout rather than dedicated delete components --- Oqtane.Client/Modules/Admin/Files/Index.razor | 2 +- .../Admin/ModuleDefinitions/Index.razor | 56 ++++-- .../Modules/Admin/Pages/Delete.razor | 181 ----------------- Oqtane.Client/Modules/Admin/Pages/Index.razor | 17 +- .../Modules/Admin/Roles/Delete.razor | 94 --------- Oqtane.Client/Modules/Admin/Roles/Index.razor | 27 ++- .../Modules/Admin/Sites/Delete.razor | 185 ------------------ Oqtane.Client/Modules/Admin/Sites/Index.razor | 28 ++- .../Modules/Admin/Tenants/Delete.razor | 80 -------- .../Modules/Admin/Tenants/Index.razor | 27 ++- .../Modules/Admin/Themes/Index.razor | 16 +- .../Modules/Admin/Users/Delete.razor | 115 ----------- Oqtane.Client/Modules/Admin/Users/Index.razor | 32 ++- .../Modules/Controls/ActionDialog.razor | 9 +- .../Modules/Controls/ActionLink.razor | 4 +- .../Interfaces/IScheduleLogService.cs | 19 ++ .../Services/Interfaces/IScheduleService.cs | 19 ++ Oqtane.Client/Services/ScheduleLogService.cs | 54 +++++ Oqtane.Client/Services/ScheduleService.cs | 54 +++++ Oqtane.Client/Startup.cs | 2 + .../Themes/Controls/ControlPanel.razor | 92 +++++++-- .../Controllers/ScheduleController.cs | 72 +++++++ .../Controllers/ScheduleLogController.cs | 74 +++++++ .../Repository/Context/MasterDBContext.cs | 2 + .../Interfaces/IScheduleLogRepository.cs | 14 ++ .../Interfaces/IScheduleRepository.cs | 14 ++ .../Repository/ScheduleLogRepository.cs | 49 +++++ .../Repository/ScheduleRepository.cs | 49 +++++ Oqtane.Server/Scripts/Master.sql | 40 ++++ Oqtane.Server/Startup.cs | 6 + Oqtane.Shared/Models/Schedule.cs | 21 ++ Oqtane.Shared/Models/ScheduleLog.cs | 15 ++ 32 files changed, 737 insertions(+), 732 deletions(-) delete mode 100644 Oqtane.Client/Modules/Admin/Pages/Delete.razor delete mode 100644 Oqtane.Client/Modules/Admin/Roles/Delete.razor delete mode 100644 Oqtane.Client/Modules/Admin/Sites/Delete.razor delete mode 100644 Oqtane.Client/Modules/Admin/Tenants/Delete.razor delete mode 100644 Oqtane.Client/Modules/Admin/Users/Delete.razor create mode 100644 Oqtane.Client/Services/Interfaces/IScheduleLogService.cs create mode 100644 Oqtane.Client/Services/Interfaces/IScheduleService.cs create mode 100644 Oqtane.Client/Services/ScheduleLogService.cs create mode 100644 Oqtane.Client/Services/ScheduleService.cs create mode 100644 Oqtane.Server/Controllers/ScheduleController.cs create mode 100644 Oqtane.Server/Controllers/ScheduleLogController.cs create mode 100644 Oqtane.Server/Repository/Interfaces/IScheduleLogRepository.cs create mode 100644 Oqtane.Server/Repository/Interfaces/IScheduleRepository.cs create mode 100644 Oqtane.Server/Repository/ScheduleLogRepository.cs create mode 100644 Oqtane.Server/Repository/ScheduleRepository.cs create mode 100644 Oqtane.Shared/Models/Schedule.cs create mode 100644 Oqtane.Shared/Models/ScheduleLog.cs diff --git a/Oqtane.Client/Modules/Admin/Files/Index.razor b/Oqtane.Client/Modules/Admin/Files/Index.razor index bbec39f9..35269a70 100644 --- a/Oqtane.Client/Modules/Admin/Files/Index.razor +++ b/Oqtane.Client/Modules/Admin/Files/Index.razor @@ -17,7 +17,7 @@ else Name - + @context diff --git a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor index e86a47ed..3375eb3d 100644 --- a/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor +++ b/Oqtane.Client/Modules/Admin/ModuleDefinitions/Index.razor @@ -10,26 +10,26 @@ } else { - +
+   +   Name Version   -   -  
- @context.Name - @context.Version @if (context.AssemblyName != "Oqtane.Client") { - + } + @context.Name + @context.Version @if (UpgradeAvailable(context.ModuleDefinitionName, context.Version)) { @@ -48,8 +48,16 @@ else protected override async Task OnInitializedAsync() { - moduledefinitions = await ModuleDefinitionService.GetModuleDefinitionsAsync(PageState.Site.SiteId); - packages = await PackageService.GetPackagesAsync("module"); + try + { + moduledefinitions = await ModuleDefinitionService.GetModuleDefinitionsAsync(PageState.Site.SiteId); + packages = await PackageService.GetPackagesAsync("module"); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Loading Modules {Error}", ex.Message); + AddModuleMessage("Error Loading Modules", MessageType.Error); + } } private bool UpgradeAvailable(string moduledefinitionname, string version) @@ -65,14 +73,32 @@ else private async Task DownloadModule(string moduledefinitionname, string version) { - await PackageService.DownloadPackageAsync(moduledefinitionname, version, "Modules"); - await ModuleDefinitionService.InstallModuleDefinitionsAsync(); - NavigationManager.NavigateTo(NavigateUrl(Reload.Application)); - } + try + { + await PackageService.DownloadPackageAsync(moduledefinitionname, version, "Modules"); + await ModuleDefinitionService.InstallModuleDefinitionsAsync(); + await logger.LogInformation("Module Downloaded {ModuleDefinitionName} {Version}", moduledefinitionname, version); + NavigationManager.NavigateTo(NavigateUrl(Reload.Application)); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Downloading Module {ModuleDefinitionName} {Version} {Error}", moduledefinitionname, version, ex.Message); + AddModuleMessage("Error Downloading Module", MessageType.Error); + } + } - private async Task DeleteModule(int moduledefinitionid, int siteid) + private async Task DeleteModule(ModuleDefinition ModuleDefinition) { - await ModuleDefinitionService.DeleteModuleDefinitionAsync(moduledefinitionid, siteid); - NavigationManager.NavigateTo(NavigateUrl(Reload.Application)); + try + { + await ModuleDefinitionService.DeleteModuleDefinitionAsync(ModuleDefinition.ModuleDefinitionId, ModuleDefinition.SiteId); + await logger.LogInformation("Module Deleted {ModuleDefinition}", ModuleDefinition); + NavigationManager.NavigateTo(NavigateUrl(Reload.Application)); + } + catch (Exception ex) + { + await logger.LogError(ex, "Error Deleting Module {ModuleDefinition} {Error}", ModuleDefinition, ex.Message); + AddModuleMessage("Error Deleting Module", MessageType.Error); + } } } \ No newline at end of file diff --git a/Oqtane.Client/Modules/Admin/Pages/Delete.razor b/Oqtane.Client/Modules/Admin/Pages/Delete.razor deleted file mode 100644 index b156b922..00000000 --- a/Oqtane.Client/Modules/Admin/Pages/Delete.razor +++ /dev/null @@ -1,181 +0,0 @@ -@namespace Oqtane.Modules.Admin.Pages -@inherits ModuleBase -@inject NavigationManager NavigationManager -@inject IPageService PageService -@inject IThemeService ThemeService - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- - - -
- -Cancel -
-
- - -@code { - public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Admin; } } - - Dictionary themes = new Dictionary(); - Dictionary panelayouts = new Dictionary(); - - int PageId; - string name; - string path; - string parentid = ""; - string isnavigation; - string mode; - string themetype; - string layouttype; - string icon; - string permissions; - string createdby; - DateTime createdon; - string modifiedby; - DateTime modifiedon; - string deletedby; - DateTime? deletedon; - - protected override async Task OnInitializedAsync() - { - try - { - themes = ThemeService.GetThemeTypes(PageState.Themes); - - PageId = Int32.Parse(PageState.QueryString["id"]); - Page page = PageState.Pages.Where(item => item.PageId == PageId).FirstOrDefault(); - if (page != null) - { - name = page.Name; - path = page.Path; - isnavigation = page.IsNavigation.ToString(); - mode = (page.EditMode) ? "edit" : "view"; - themetype = page.ThemeType; - panelayouts = ThemeService.GetPaneLayoutTypes(PageState.Themes, themetype); - layouttype = page.LayoutType; - icon = page.Icon; - permissions = page.Permissions; - createdby = page.CreatedBy; - createdon = page.CreatedOn; - modifiedby = page.ModifiedBy; - modifiedon = page.ModifiedOn; - deletedby = page.DeletedBy; - deletedon = page.DeletedOn; - } - } - catch (Exception ex) - { - await logger.LogError(ex, "Error Loading Page {PageId} {Error}", PageId, ex.Message); - AddModuleMessage("Error Loading Page", MessageType.Error); - } - } - - private async Task DeletePage() - { - try - { - await PageService.DeletePageAsync(PageId); - await logger.LogInformation("Page Deleted {PageId}", PageId); - NavigationManager.NavigateTo(NavigateUrl("", Reload.Site)); // redirect to home page - } - catch (Exception ex) - { - await logger.LogError(ex, "Error Deleting Page {PageId} {Error}", PageId, ex.Message); - AddModuleMessage("Error Deleting Page", MessageType.Error); - } - } -} diff --git a/Oqtane.Client/Modules/Admin/Pages/Index.razor b/Oqtane.Client/Modules/Admin/Pages/Index.razor index 47e96364..bb6e030e 100644 --- a/Oqtane.Client/Modules/Admin/Pages/Index.razor +++ b/Oqtane.Client/Modules/Admin/Pages/Index.razor @@ -5,18 +5,18 @@ @if (PageState.Pages != null) { - +
+   +   Name -   -  
- @(new string('-', context.Level * 2))@(context.Name) - + + @(new string('-', context.Level * 2))@(context.Name)
} @@ -24,18 +24,19 @@ @code { public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Admin; } } - private async Task Delete(Page Page) + private async Task DeletePage(Page Page) { try { Page.IsDeleted = true; await PageService.UpdatePageAsync(Page); + await logger.LogInformation("Page Deleted {Page}", Page); NavigationManager.NavigateTo(NavigateUrl("admin/pages", Reload.Site)); } catch (Exception ex) { - await logger.LogError(ex, "Error Loading Pages {Error}", ex.Message); - AddModuleMessage("Error Loading Pages", MessageType.Error); + await logger.LogError(ex, "Error Deleting Page {Page} {Error}", Page, ex.Message); + AddModuleMessage("Error Deleting Page", MessageType.Error); } } } diff --git a/Oqtane.Client/Modules/Admin/Roles/Delete.razor b/Oqtane.Client/Modules/Admin/Roles/Delete.razor deleted file mode 100644 index 9cc002ff..00000000 --- a/Oqtane.Client/Modules/Admin/Roles/Delete.razor +++ /dev/null @@ -1,94 +0,0 @@ -@namespace Oqtane.Modules.Admin.Roles -@inherits ModuleBase -@inject NavigationManager NavigationManager -@inject IRoleService RoleService - - - - - - - - -
- - - -
- - -