Projektarbeit-MYP/backend/app/templates/admin_edit_user.html

107 lines
6.0 KiB
HTML

{% extends "base.html" %}
{% block title %}Benutzer bearbeiten - Mercedes-Benz MYP Platform{% endblock %}
{% block head %}
{{ super() }}
<meta name="csrf-token" content="{{ csrf_token() }}">
{% endblock %}
{% block content %}
<div class="min-h-screen bg-gradient-to-br from-slate-50 via-blue-50 to-indigo-50 dark:from-slate-900 dark:via-slate-800 dark:to-slate-900">
<div class="max-w-2xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
<!-- Header -->
<div class="mb-8">
<div class="flex items-center justify-between">
<div>
<h1 class="text-3xl font-bold text-slate-900 dark:text-white">Benutzer bearbeiten</h1>
<p class="text-slate-600 dark:text-slate-400 mt-2">Bearbeiten Sie die Daten von {{ user.name or user.email }}</p>
</div>
<a href="{{ url_for('admin_page', tab='users') }}" class="inline-flex items-center px-4 py-2 bg-slate-200 dark:bg-slate-700 text-slate-700 dark:text-slate-300 rounded-xl hover:bg-slate-300 dark:hover:bg-slate-600 transition-all duration-300">
<svg class="w-5 h-5 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18"/>
</svg>
Zurück zur Benutzerverwaltung
</a>
</div>
</div>
<!-- Form -->
<div class="bg-white dark:bg-slate-800 rounded-2xl shadow-xl p-8">
<form method="POST" action="{{ url_for('admin_update_user_form', user_id=user.id) }}" class="space-y-6">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
<input type="hidden" name="_method" value="PUT"/>
<!-- E-Mail -->
<div>
<label for="email" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
E-Mail-Adresse
</label>
<input type="email" name="email" id="email" required
value="{{ user.email }}"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="benutzer@mercedes-benz.com">
</div>
<!-- Name -->
<div>
<label for="name" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Vollständiger Name
</label>
<input type="text" name="name" id="name"
value="{{ user.name }}"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="Max Mustermann">
</div>
<!-- Neues Passwort (optional) -->
<div>
<label for="password" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Neues Passwort (leer lassen, um beizubehalten)
</label>
<input type="password" name="password" id="password"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white"
placeholder="Neues Passwort">
</div>
<!-- Rolle -->
<div>
<label for="role" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Benutzerrolle
</label>
<select name="role" id="role"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white">
<option value="user" {% if not user.is_admin %}selected{% endif %}>Benutzer</option>
<option value="admin" {% if user.is_admin %}selected{% endif %}>Administrator</option>
</select>
</div>
<!-- Status -->
<div>
<label for="is_active" class="block text-sm font-medium text-slate-700 dark:text-slate-300 mb-2">
Benutzerstatus
</label>
<select name="is_active" id="is_active"
class="w-full px-4 py-3 border border-slate-300 dark:border-slate-600 rounded-xl focus:ring-2 focus:ring-blue-500 focus:border-transparent dark:bg-slate-700 dark:text-white">
<option value="true" {% if user.active %}selected{% endif %}>Aktiv</option>
<option value="false" {% if not user.active %}selected{% endif %}>Deaktiviert</option>
</select>
</div>
<!-- Buttons -->
<div class="flex items-center justify-end space-x-4 pt-4">
<a href="{{ url_for('admin_page', tab='users') }}"
class="px-6 py-3 border border-slate-300 dark:border-slate-600 text-slate-700 dark:text-slate-300 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-700 transition-all duration-300">
Abbrechen
</a>
<button type="submit"
class="px-6 py-3 bg-gradient-to-r from-blue-500 to-blue-600 text-white rounded-xl hover:from-blue-600 hover:to-blue-700 transition-all duration-300 shadow-lg">
Änderungen speichern
</button>
</div>
</form>
</div>
</div>
</div>
{% endblock %}