Benutzer Bearbeitung hinzugefügt
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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
72
templates/edit_user.html
Normal 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 %}
|
||||
@@ -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 Erika Muster;Parkkarte;PARK-2001;Import"></textarea>
|
||||
<textarea class="form-control" name="import_rows" rows="12" placeholder="Max;Mustermann;Tuerchip;CHIP-1001;Import 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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user