Reworked Index.cshtml

This commit is contained in:
2025-10-18 23:33:13 +02:00
parent f3d74d89cf
commit 39df2993fd
2 changed files with 69 additions and 11 deletions

View File

@@ -13,13 +13,32 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, ...</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, ...</value>
</resheader> </resheader>
<data name="Overview" xml:space="preserve"> <data name="Home Page" xml:space="preserve">
<value>Übersicht</value> <value>Hauptseite</value>
</data> </data>
<data name="Inventory asset" xml:space="preserve"> <data name="Hi, {0}!" xml:space="preserve">
<value>Asset inventarisieren</value> <value>Hallo {0}!</value>
</data> </data>
<data name="Create user" xml:space="preserve"> <data name="Hi!" xml:space="preserve">
<value>Benutzer anlegen</value> <value>Hallo!</value>
</data> </data>
<data name="Inventory" xml:space="preserve">
<value>Inventur</value>
</data>
<data name="Manage Assets" xml:space="preserve">
<value>Assets verwalten</value>
</data>
<data name="Manage Locations" xml:space="preserve">
<value>Orte verwalten</value>
</data>
<data name="Manage Users" xml:space="preserve">
<value>Benutzer verwalten</value>
</data>
<data name="Manage Groups" xml:space="preserve">
<value>Gruppen verwalten</value>
</data>
<data name="Navigate from here or the navigation bar" xml:space="preserve">
<value>Navigiere von hier oder über die Navigationsleiste</value>
</data>
</root> </root>

View File

@@ -1,16 +1,55 @@
@using Berufsschule_HAM.Services
@using Microsoft.AspNetCore.Mvc.Localization @using Microsoft.AspNetCore.Mvc.Localization
@using Berufsschule_HAM.Models @using Berufsschule_HAM.Models
@using System.Security.Claims
@model HomeIndexViewModel @model HomeIndexViewModel
@inject IViewLocalizer T @inject IViewLocalizer T
@inject LdapService _ldap
@{ @{
ViewData["Title"] = T["Home Page"]; ViewData["Title"] = T["Home Page"];
bool hasName = User.Identity?.Name is not null;
string? username;
string name = "";
UserModel? user;
if (hasName && User.Identity is not null && User.Identity.Name is not null)
{
username = User.Identity.Name;
user = await _ldap.GetUserByUidAsync(username);
name = user.Cn ?? "";
}
} }
<div class="container py-4"> <div class="container py-4">
<h2 class="mb-3">@T["Overview"]</h2> <div class="row text-center">
<div class="mb-4 d-flex flex-wrap gap-2"> @if (name.Length > 0)
<button class="btn btn-primary">@T["Inventory asset"]</button> {
<button class="btn btn-primary">@T["Create user"]</button> <h3>@T["Hi, {0}!", name]</h3>
} else
{
<h3>@T["Hi!"]</h3>
}
<p>@T["Navigate from here or the navigation bar"]</p>
<div class="mb-4 d-flex flex-wrap gap-2 justify-content-center">
@if (User.HasClaim(ClaimTypes.Role, "CanInventorize"))
{
<a href="/Home/Inventory" class="btn btn-primary">@T["Inventory"]</a>
}
@if (User.HasClaim(ClaimTypes.Role, "CanManageAssets"))
{
<a href="/Home/Assets" class="btn btn-primary">@T["Manage Assets"]</a>
}
@if (User.HasClaim(ClaimTypes.Role, "CanManageLocations"))
{
<a href="/Home/Locations" class="btn btn-primary">@T["Manage Locations"]</a>
}
@if (User.HasClaim(ClaimTypes.Role, "CanManageUsers"))
{
<a href="/Home/Users" class="btn btn-primary">@T["Manage Users"]</a>
}
@if (User.HasClaim(ClaimTypes.Role, "CanManageGroups"))
{
<a href="/Home/Groups" class="btn btn-primary">@T["Manage Groups"]</a>
}
</div>
</div> </div>
</div> </div>