Merge branch 'main' of https://git.azuze.fr/kawa/SharepointToolbox-Web
This commit is contained in:
@@ -3,34 +3,35 @@
|
||||
@inject IAuditService AuditService
|
||||
@inject IUserContextAccessor UserContext
|
||||
@inject NavigationManager Nav
|
||||
@inject TranslationSource T
|
||||
@rendermode InteractiveServer
|
||||
@using SharepointToolbox.Web.Core.Models
|
||||
@using SharepointToolbox.Web.Services.Audit
|
||||
@using SharepointToolbox.Web.Services.Session
|
||||
|
||||
<h1 class="page-title">Audit Logs</h1>
|
||||
<p class="page-subtitle">All technician and admin actions within the application.</p>
|
||||
<h1 class="page-title">@T["adminaudit.title"]</h1>
|
||||
<p class="page-subtitle">@T["adminaudit.subtitle"]</p>
|
||||
|
||||
@if (!UserContext.IsAuthenticated || UserContext.Role != UserRole.Admin)
|
||||
{
|
||||
<div class="alert alert-error">Access denied. Admin role required.</div>
|
||||
<div class="alert alert-error">@T["adminaudit.accessdenied"]</div>
|
||||
return;
|
||||
}
|
||||
|
||||
<div class="flex-row" style="margin-bottom:16px;flex-wrap:wrap;gap:8px">
|
||||
<input class="form-input" style="width:200px" placeholder="Filter by user..." @bind="_filterUser" @bind:event="oninput" />
|
||||
<input class="form-input" style="width:200px" placeholder="Filter by client..." @bind="_filterClient" @bind:event="oninput" />
|
||||
<input class="form-input" style="width:200px" placeholder="Filter by action..." @bind="_filterAction" @bind:event="oninput" />
|
||||
<a href="/audit/export" class="btn btn-secondary" target="_blank">Export CSV</a>
|
||||
<input class="form-input" style="width:200px" placeholder="@T["adminaudit.filter.user"]" @bind="_filterUser" @bind:event="oninput" />
|
||||
<input class="form-input" style="width:200px" placeholder="@T["adminaudit.filter.client"]" @bind="_filterClient" @bind:event="oninput" />
|
||||
<input class="form-input" style="width:200px" placeholder="@T["adminaudit.filter.action"]" @bind="_filterAction" @bind:event="oninput" />
|
||||
<a href="/audit/export" class="btn btn-secondary" target="_blank">@T["audit.btn.exportCsv"]</a>
|
||||
</div>
|
||||
|
||||
@if (_loading)
|
||||
{
|
||||
<div class="alert alert-info">Loading audit log...</div>
|
||||
<div class="alert alert-info">@T["adminaudit.loading"]</div>
|
||||
}
|
||||
else if (_filtered.Count == 0)
|
||||
{
|
||||
<div class="alert alert-info">No audit entries found.</div>
|
||||
<div class="alert alert-info">@T["adminaudit.noentries"]</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -38,13 +39,13 @@ else
|
||||
<table style="width:100%;border-collapse:collapse;font-size:13px">
|
||||
<thead>
|
||||
<tr style="border-bottom:2px solid var(--border)">
|
||||
<th style="text-align:left;padding:6px">Timestamp</th>
|
||||
<th style="text-align:left;padding:6px">User</th>
|
||||
<th style="text-align:left;padding:6px">Role</th>
|
||||
<th style="text-align:left;padding:6px">Action</th>
|
||||
<th style="text-align:left;padding:6px">Client</th>
|
||||
<th style="text-align:left;padding:6px">Sites</th>
|
||||
<th style="text-align:left;padding:6px">Details</th>
|
||||
<th style="text-align:left;padding:6px">@T["report.col.timestamp"]</th>
|
||||
<th style="text-align:left;padding:6px">@T["report.col.user"]</th>
|
||||
<th style="text-align:left;padding:6px">@T["adminaudit.col.role"]</th>
|
||||
<th style="text-align:left;padding:6px">@T["adminaudit.col.action"]</th>
|
||||
<th style="text-align:left;padding:6px">@T["adminaudit.col.client"]</th>
|
||||
<th style="text-align:left;padding:6px">@T["report.col.sites"]</th>
|
||||
<th style="text-align:left;padding:6px">@T["adminaudit.col.details"]</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -63,7 +64,7 @@ else
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p class="text-muted" style="margin-top:8px;font-size:12px">Showing @_filtered.Count of @_entries.Count entries</p>
|
||||
<p class="text-muted" style="margin-top:8px;font-size:12px">@string.Format(T["adminaudit.showing"], _filtered.Count, _entries.Count)</p>
|
||||
}
|
||||
|
||||
@code {
|
||||
|
||||
Reference in New Issue
Block a user