User-Informationen werden zuverlässiger und an den User angepasst angezeigt

This commit is contained in:
2025-06-25 23:52:34 +02:00
parent 610a100e01
commit 5addfead24
5 changed files with 16 additions and 22 deletions

View File

@@ -115,12 +115,14 @@ namespace Watcher.Controllers
//return Ok($"Dump erfolgreich erstellt: {dumpFileName}");
TempData["DumpMessage"] = "SQLite-Dump erfolgreich erstellt.";
_logger.LogInformation("SQLite-Dump erfolgreich erstellt.");
return RedirectToAction("UserSettings", "User");
}
catch (Exception ex)
{
//return StatusCode(500, $"Fehler beim Erstellen des Dumps: {ex.Message}");
TempData["DumpError"] = $"Fehler beim Erstellen des Dumps: {ex.Message}";
_logger.LogError("Fehler beim Erstellen des Dumps: {message}", ex.Message);
return RedirectToAction("UserSettings", "User");
}
}

View File

@@ -1,12 +1,5 @@
using System.Net.Mail;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.Extensions.Options;
using Watcher.Data;
using Watcher.ViewModels;
@@ -25,7 +18,7 @@ public class UserController : Controller
}
// Anzeigen der User-Informationen
// Anzeigen der User-Informationen
[Authorize]
public IActionResult Info()
{
@@ -40,12 +33,15 @@ public class UserController : Controller
var username = user.Username;
var mail = user.Email;
var Id = user.Id;
var IdProvider = user.IdentityProvider;
// Anzeigedaten an View übergeben
ViewBag.Claims = claims;
ViewBag.Name = username;
ViewBag.Mail = mail;
ViewBag.Id = Id;
ViewBag.IdProvider = IdProvider;
return View();
}

View File

@@ -93,7 +93,7 @@
<i class="bi bi-person"></i>
</div>
<div>
<strong>@User.Claims.FirstOrDefault(c => c.Type == "name")?.Value</strong><br />
<strong>@User.Identity?.Name</strong><br />
<small class="text-muted">Profil ansehen</small>
</div>
</div>

View File

@@ -1,9 +1,9 @@
@{
ViewData["Title"] = "Account Info";
var pictureUrl = User.Claims.FirstOrDefault(c => c.Type == "picture")?.Value ?? "";
var preferredUsername = User.Claims.FirstOrDefault(c => c.Type == "preferred_username")?.Value ?? "admin";
var isAdmin = preferredUsername == "admin";
var preferred_username = ViewBag.name;
var Id = ViewBag.Id;
var preferredUsername = ViewBag.name;
var IdProvider = ViewBag.IdProvider;
}
<div class="container mt-5">
@@ -21,7 +21,7 @@
</div>
}
<h3 class="mt-3">
<i class="bi bi-person-circle me-1"></i>@(User.FindFirst("PreferredUsername")?.Value ?? "Unbekannter Nutzer")
<i class="bi bi-person-circle me-1"></i>@preferredUsername
</h3>
</div>
@@ -40,6 +40,8 @@
<th><i class="bi bi-fingerprint me-1"></i>Benutzer-ID</th>
<td>@(ViewBag.Id ?? "Nicht verfügbar")</td>
</tr>
@if(IdProvider != "local")
{
<tr>
<th><i class="bi bi-clock-history me-1"></i>Login-Zeit</th>
<td>
@@ -77,6 +79,8 @@
}
</td>
</tr>
}
</tbody>
</table>
<div>

View File

@@ -111,11 +111,7 @@
</div>
<div class="card shadow mt-5 p-4" style="width: 55%; margin: auto;">
<h4><i class="bi bi-pencil-square me-2"></i>Systemeinstellungen ändern</h4>
<h5>Anzeigeeinstellungen: </h5>
<hr class="my-4" />
<h4><i class="bi bi-pencil-square me-2"></i>Systemeinstellungen</h4>
<h5>Benachrichtigungen: </h5>
<p>Registrierte E-Mail Adresse: <strong>@(ViewBag.mail ?? "nicht gefunden")</strong></p>
@@ -155,9 +151,5 @@
<hr class="my-4" />
<h5>...: </h5>
</div>
</div>