146 lines
6.0 KiB
HTML
146 lines
6.0 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}{{ user.username }} - mGuard VPN Manager{% endblock %}
|
|
|
|
{% block content %}
|
|
<nav aria-label="breadcrumb" class="mb-3">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="/users">Benutzer</a></li>
|
|
<li class="breadcrumb-item active">{{ user.username }}</li>
|
|
</ol>
|
|
</nav>
|
|
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<div>
|
|
<h1><i class="bi bi-person"></i> {{ user.username }}</h1>
|
|
<p class="text-muted mb-0">{{ user.email }}</p>
|
|
</div>
|
|
<div>
|
|
<a href="/users" class="btn btn-outline-secondary">
|
|
<i class="bi bi-arrow-left"></i> Zurück
|
|
</a>
|
|
<a href="/users/{{ user.id }}/edit" class="btn btn-outline-primary">
|
|
<i class="bi bi-pencil"></i> Bearbeiten
|
|
</a>
|
|
<a href="/users/{{ user.id }}/access" class="btn btn-primary">
|
|
<i class="bi bi-key"></i> Zugriffe verwalten
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-lg-6">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="bi bi-person-badge"></i> Benutzerinformationen</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<th style="width: 40%;">Benutzername</th>
|
|
<td>{{ user.username }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>E-Mail</th>
|
|
<td>{{ user.email }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Voller Name</th>
|
|
<td>{{ user.full_name or '-' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Rolle</th>
|
|
<td>
|
|
{% if user.role.value == 'super_admin' %}
|
|
<span class="badge bg-danger">Super Admin</span>
|
|
{% elif user.role.value == 'admin' %}
|
|
<span class="badge bg-primary">Admin</span>
|
|
{% elif user.role.value == 'technician' %}
|
|
<span class="badge bg-success">Techniker</span>
|
|
{% else %}
|
|
<span class="badge bg-secondary">{{ user.role.value }}</span>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Mandant</th>
|
|
<td>
|
|
{% if user.tenant %}
|
|
<a href="/tenants/{{ user.tenant.id }}">{{ user.tenant.name }}</a>
|
|
{% else %}
|
|
<span class="text-muted">- (Global)</span>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Status</th>
|
|
<td>
|
|
{% if user.is_active %}
|
|
<span class="badge bg-success">Aktiv</span>
|
|
{% else %}
|
|
<span class="badge bg-secondary">Inaktiv</span>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Erstellt am</th>
|
|
<td>{{ user.created_at.strftime('%d.%m.%Y %H:%M') if user.created_at else '-' }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Letzte Anmeldung</th>
|
|
<td>{{ user.last_login.strftime('%d.%m.%Y %H:%M') if user.last_login else 'Noch nie' }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-6">
|
|
<div class="card mb-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0"><i class="bi bi-router"></i> Gateway-Zugriffe</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
{% if user.role.value in ['super_admin', 'admin'] %}
|
|
<div class="alert alert-info mb-0">
|
|
<i class="bi bi-info-circle"></i>
|
|
{% if user.role.value == 'super_admin' %}
|
|
Super-Admins haben automatisch Zugriff auf alle Gateways aller Mandanten.
|
|
{% else %}
|
|
Admins haben automatisch Zugriff auf alle Gateways ihres Mandanten.
|
|
{% endif %}
|
|
</div>
|
|
{% else %}
|
|
{% if user.gateway_access %}
|
|
<ul class="list-group list-group-flush">
|
|
{% for access in user.gateway_access %}
|
|
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
<span>
|
|
<a href="/gateways/{{ access.gateway.id }}">{{ access.gateway.name }}</a>
|
|
{% if access.gateway.location %}
|
|
<small class="text-muted ms-2">{{ access.gateway.location }}</small>
|
|
{% endif %}
|
|
</span>
|
|
{% if access.gateway.is_online %}
|
|
<span class="badge bg-success">Online</span>
|
|
{% else %}
|
|
<span class="badge bg-secondary">Offline</span>
|
|
{% endif %}
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% else %}
|
|
<p class="text-muted mb-0">Keine Gateway-Zugriffe zugewiesen.</p>
|
|
{% endif %}
|
|
<div class="mt-3">
|
|
<a href="/users/{{ user.id }}/access" class="btn btn-sm btn-outline-primary">
|
|
<i class="bi bi-pencil"></i> Zugriffe bearbeiten
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|