@page "/audit-logs"
@using Microsoft.AspNetCore.Authorization
@using Microsoft.AspNetCore.Components.Authorization
@using TaskTrackingSystem.Shared.Models.AuditLog
@using TaskTrackingSystem.WebApp.Components.Partial
@rendermode @(new InteractiveServerRenderMode(prerender: false))
@attribute [Authorize]
@inject ApiClientService ApiClient
@inject IJSRuntime JS
@inject AuthenticationStateProvider AuthStateProvider
@AppLocalization.PageDescription("auditLogs", "Review system activity and changes.")
| @AppLocalization.Text("common.index", "No.") | @AppLocalization.Text("common.date", "Timestamp") | @AppLocalization.Text("common.user", "User") | @AppLocalization.Text("common.module", "Module") | @AppLocalization.Text("common.actions", "Action") | @AppLocalization.Text("common.description", "Description") | @AppLocalization.Text("field.ipAddress", "IP Address") |
|---|---|---|---|---|---|---|
| @AppLocalization.Number((currentPage - 1) * pageSize + entry.index + 1) | @AppLocalization.LocalizeDigits(log.CreatedAt.ToString("dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)) |
@(GetAuditUserName(log).Length > 0 ? GetAuditUserName(log)[0].ToString().ToUpper() : "S")
@GetAuditUserName(log) @@@log.Username |
@AppLocalization.ModuleName(log.Module) | @AppLocalization.ActionName(log.Action) | @AppLocalization.AuditDescription(log.Description) | @(string.IsNullOrWhiteSpace(log.IpAddress) ? AppLocalization.Text("common.na", "N/A") : AppLocalization.LocalizeDigits(log.IpAddress)) |