From fc41af94c7ac2367ab05090224f2967a3ae80e23 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 12 Sep 2025 01:20:59 +0100 Subject: [PATCH] Add view for SCSI MODE SENSE pages. --- .../Components/Admin/AdminNavMenu.razor | 3 + .../{ScsiModes => Scsi/Modes}/View.razor | 0 .../{ScsiModes => Scsi/Modes}/View.razor.cs | 2 +- .../Admin/Pages/Scsi/Pages/View.razor | 64 +++++++++++++++++ .../Admin/Pages/Scsi/Pages/View.razor.cs | 69 +++++++++++++++++++ 5 files changed, 137 insertions(+), 1 deletion(-) rename Aaru.Server/Components/Admin/Pages/{ScsiModes => Scsi/Modes}/View.razor (100%) rename Aaru.Server/Components/Admin/Pages/{ScsiModes => Scsi/Modes}/View.razor.cs (96%) create mode 100644 Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor create mode 100644 Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor.cs diff --git a/Aaru.Server/Components/Admin/AdminNavMenu.razor b/Aaru.Server/Components/Admin/AdminNavMenu.razor index c3245d63..a4ba3fdc 100644 --- a/Aaru.Server/Components/Admin/AdminNavMenu.razor +++ b/Aaru.Server/Components/Admin/AdminNavMenu.razor @@ -38,6 +38,9 @@ PCMCIA + + SCSI MODE SENSE pages + SCSI MODE SENSE responses diff --git a/Aaru.Server/Components/Admin/Pages/ScsiModes/View.razor b/Aaru.Server/Components/Admin/Pages/Scsi/Modes/View.razor similarity index 100% rename from Aaru.Server/Components/Admin/Pages/ScsiModes/View.razor rename to Aaru.Server/Components/Admin/Pages/Scsi/Modes/View.razor diff --git a/Aaru.Server/Components/Admin/Pages/ScsiModes/View.razor.cs b/Aaru.Server/Components/Admin/Pages/Scsi/Modes/View.razor.cs similarity index 96% rename from Aaru.Server/Components/Admin/Pages/ScsiModes/View.razor.cs rename to Aaru.Server/Components/Admin/Pages/Scsi/Modes/View.razor.cs index 9e07b488..f301f6b9 100644 --- a/Aaru.Server/Components/Admin/Pages/ScsiModes/View.razor.cs +++ b/Aaru.Server/Components/Admin/Pages/Scsi/Modes/View.razor.cs @@ -3,7 +3,7 @@ using BlazorBootstrap; using Microsoft.EntityFrameworkCore; using DbContext = Aaru.Server.Database.DbContext; -namespace Aaru.Server.Components.Admin.Pages.ScsiModes; +namespace Aaru.Server.Components.Admin.Pages.Scsi.Modes; public partial class View { diff --git a/Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor b/Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor new file mode 100644 index 00000000..c9dd982e --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor @@ -0,0 +1,64 @@ +@page "/admin/scsi/pages" +@attribute [Authorize] +@layout AdminLayout +@rendermode InteractiveServer + +@inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory + +SCSI MODE SENSE pages + +@if(!_initialized) +{ +
+

Loading...

+
+ + return; +} + +
+

SCSI MODE SENSE pages

+ + + + + + + + + + @foreach(ScsiPage item in _items) + { + + + + + + } + +
+ @DisplayNameHelper.GetDisplayName(typeof(ScsiPage), nameof(ScsiPage.page)) + + @DisplayNameHelper.GetDisplayName(typeof(ScsiPage), nameof(ScsiPage.subpage)) + + Actions +
+ @item.page + + @item.subpage + + +
+
+ + + +
Are you sure you want to delete this SCSI MODE SENSE response?
+
+ + + + +
\ No newline at end of file diff --git a/Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor.cs b/Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor.cs new file mode 100644 index 00000000..325c3f79 --- /dev/null +++ b/Aaru.Server/Components/Admin/Pages/Scsi/Pages/View.razor.cs @@ -0,0 +1,69 @@ +using Aaru.CommonTypes.Metadata; +using BlazorBootstrap; +using Microsoft.EntityFrameworkCore; +using DbContext = Aaru.Server.Database.DbContext; + +namespace Aaru.Server.Components.Admin.Pages.Scsi.Pages; + +public partial class View +{ + private int _deleteId; + private Modal? _deleteModal; + bool _initialized; + List _items; + + /// + protected override async Task OnInitializedAsync() + { + await base.OnInitializedAsync(); + + StateHasChanged(); + + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + + _items = await ctx.ScsiPage.ToListAsync(); + + _initialized = true; + + StateHasChanged(); + } + + private async Task ShowDeleteModal(int id) + { + _deleteId = id; + if(_deleteModal != null) await _deleteModal.ShowAsync(); + } + + private async Task HideDeleteModal() + { + if(_deleteModal != null) await _deleteModal.HideAsync(); + } + + private async Task ConfirmDelete() + { + await DeleteVersionAsync(_deleteId); + await HideDeleteModal(); + await RefreshItemsAsync(); + } + + private async Task DeleteVersionAsync(int id) + { + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + ScsiPage? page = await ctx.ScsiPage.FindAsync(id); + + if(page is not null) + { + ctx.ScsiPage.Remove(page); + await ctx.SaveChangesAsync(); + } + } + + private async Task RefreshItemsAsync() + { + await using DbContext ctx = await DbContextFactory.CreateDbContextAsync(); + + _items = await ctx.ScsiPage.ToListAsync(); + + StateHasChanged(); + } +} \ No newline at end of file