Benutzer Bearbeitung hinzugefügt

This commit is contained in:
Erik Thiele
2026-05-26 16:52:08 +02:00
parent df98b6d57f
commit 0913f69c70
10 changed files with 4894 additions and 20 deletions

View File

@@ -15,7 +15,7 @@
<select class="form-select" name="user_id" required>
<option value="">Bitte waehlen</option>
{% for user in users %}
<option value="{{ user.id }}">{{ user.full_name }}</option>
<option value="{{ user.id }}">{{ user.full_name.rsplit(' ', 1)[1] }}, {{ user.full_name.rsplit(' ', 1)[0] }}</option>
{% endfor %}
</select>
</div>

View File

@@ -11,8 +11,16 @@
<h2 class="card-title"><i class="ti ti-user-plus me-1"></i>Neuen User anlegen</h2>
<form method="post" action="{{ url_for('create_user') }}">
<div class="mb-3">
<label class="form-label">Vollständiger Name</label>
<input class="form-control" type="text" name="full_name" required>
<div class="row">
<div class="col">
<label class="form-label">Vorname</label>
<input class="form-control" type="text" name="first_name" required>
</div>
<div class="col">
<label class="form-label">Nachname</label>
<input class="form-control" type="text" name="last_name" required>
</div>
</div>
</div>
<div class="mb-3">
<label class="form-label">E-Mail</label>

72
templates/edit_user.html Normal file
View File

@@ -0,0 +1,72 @@
{% extends "base.html" %}
{% block content %}
<div class="page-section-title">
<h1>User bearbeiten</h1>
<p>Stammdaten des Users aktualisieren.</p>
</div>
<section class="card form-card">
<div class="card-body">
<h2 class="card-title"><i class="ti ti-user-edit me-1"></i>Userdaten</h2>
<form method="post" action="{{ url_for('edit_user', user_id=user.id) }}">
<div class="row mb-3">
<div class="col">
<label class="form-label">Vorname</label>
<input class="form-control" type="text" name="first_name" value="{{ first_name }}" required>
</div>
<div class="col">
<label class="form-label">Nachname</label>
<input class="form-control" type="text" name="last_name" value="{{ last_name }}" required>
</div>
</div>
<div class="mb-3">
<label class="form-label">E-Mail</label>
<input class="form-control" type="email" name="email" value="{{ user.email or '' }}">
</div>
<div class="mb-3">
<label class="form-label">Abteilung</label>
<input class="form-control" type="text" name="department" value="{{ user.department or '' }}">
</div>
<button class="btn btn-primary" type="submit"><i class="ti ti-device-floppy me-1"></i>Speichern</button>
<a class="btn btn-outline-secondary" href="{{ url_for('index') }}">Abbrechen</a>
<button class="btn btn-danger float-end" type="button" onclick="if(confirm('User wirklich loeschen?')){document.getElementById('delete-form').submit();}"><i class="ti ti-trash me-1"></i>Loeschen</button>
</form>
<form id="delete-form" method="post" action="{{ url_for('delete_user', user_id=user.id) }}"></form>
</div>
</section>
<section class="card mt-4">
<div class="card-header">
<h2 class="card-title"><i class="ti ti-key me-1"></i>Zugeordnete Medien</h2>
</div>
<div class="card-body">
<table class="table table-vcenter">
<thead>
<tr>
<th>Typ</th>
<th>Kennung</th>
<th>Vergeben seit</th>
</tr>
</thead>
<tbody>
<tr>
<td>Türchip</td>
<td>{{ user.chip_code or "-" }}</td>
<td>{{ user.chip_assigned_at or "-" }}</td>
</tr>
<tr>
<td>Parkkarte</td>
<td>{{ user.parking_card_code or "-" }}</td>
<td>{{ user.parking_card_assigned_at or "-" }}</td>
</tr>
<tr>
<td>Poolfahrzeug</td>
<td>{{ user.pool_vehicle_code or "-" }}</td>
<td>{{ user.pool_vehicle_assigned_at or "-" }}</td>
</tr>
</tbody>
</table>
</div>
</section>
{% endblock %}

View File

@@ -9,7 +9,7 @@
<section class="card form-card">
<div class="card-body">
<h2 class="card-title"><i class="ti ti-file-import me-1"></i>Importdaten einfügen</h2>
<p class="muted">CSV-Format pro Zeile: <code>User;Typ;Kennung;Aktion</code>. Für die Aktion ist <code>Import</code> vorgesehen.</p>
<p class="muted">CSV-Formate: <code>User;Typ;Kennung;Aktion</code> oder <code>Vorname;Nachname;Typ;Kennung;Aktion</code>. Für die Aktion ist <code>Import</code> vorgesehen.</p>
<form method="post" action="{{ url_for('import_data') }}" enctype="multipart/form-data">
<div class="mb-3">
<label class="form-label">CSV-Datei</label>
@@ -18,7 +18,7 @@
</div>
<div class="mb-3">
<label class="form-label">Importzeilen alternativ direkt einfügen</label>
<textarea class="form-control" name="import_rows" rows="12" placeholder="Max Mustermann;Tuerchip;CHIP-1001;Import&#10;Erika Muster;Parkkarte;PARK-2001;Import"></textarea>
<textarea class="form-control" name="import_rows" rows="12" placeholder="Max;Mustermann;Tuerchip;CHIP-1001;Import&#10;Erika;Muster;Parkkarte;PARK-2001;Import"></textarea>
</div>
<button class="btn btn-primary" type="submit"><i class="ti ti-database-import me-1"></i>Import ausfuehren</button>
</form>

View File

@@ -80,12 +80,13 @@
<th>Türchip</th>
<th>Parkkarte</th>
<th>Poolfahrzeug</th>
<th></th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{ user.full_name }}</td>
<td>{% set parts = user.full_name.rsplit(' ', 1) %}{{ parts[1] }}, {{ parts[0] }}</td>
<td>{{ user.email or "-" }}</td>
<td>{{ user.department or "-" }}</td>
<td>
@@ -112,6 +113,7 @@
-
{% endif %}
</td>
<td><a class="btn btn-sm btn-outline-secondary" href="{{ url_for('edit_user', user_id=user.id) }}"><i class="ti ti-edit"></i></a></td>
</tr>
{% endfor %}
</tbody>

View File

@@ -15,7 +15,7 @@
<select class="form-select" name="user_id" required>
<option value="">Bitte waehlen</option>
{% for user in users %}
<option value="{{ user.id }}">{{ user.full_name }}</option>
<option value="{{ user.id }}">{{ user.full_name.rsplit(' ', 1)[1] }}, {{ user.full_name.rsplit(' ', 1)[0] }}</option>
{% endfor %}
</select>
</div>