|
{% extends 'layout.html' %} |
|
|
|
{% block title %}Modifier l'Utilisateur | Forum Communautaire{% endblock %} |
|
|
|
{% block breadcrumb %} |
|
<a href="{{ url_for('forum.index') }}" class="hover:text-blue-600">Accueil</a> |
|
<span class="mx-2">/</span> |
|
<a href="{{ url_for('admin.dashboard') }}" class="hover:text-blue-600">Administration</a> |
|
<span class="mx-2">/</span> |
|
<a href="{{ url_for('admin.manage_users') }}" class="hover:text-blue-600">Gérer les Utilisateurs</a> |
|
<span class="mx-2">/</span> |
|
<span class="text-gray-700">Modifier l'Utilisateur</span> |
|
{% endblock %} |
|
|
|
{% block content %} |
|
<div class="bg-white rounded-lg shadow-sm p-6"> |
|
<div class="flex items-center mb-6"> |
|
<img src="{{ url_for('static', filename='uploads/avatars/' + user.avatar) if user.avatar else url_for('static', filename='uploads/avatars/default.png') }}" |
|
alt="{{ user.username }}" |
|
class="w-16 h-16 rounded-full mr-4 object-cover border border-gray-200"> |
|
<div> |
|
<h1 class="text-2xl font-bold">Modifier l'Utilisateur : {{ user.username }}</h1> |
|
<p class="text-gray-600">{{ user.email }}</p> |
|
</div> |
|
</div> |
|
|
|
<form method="post" action="{{ url_for('admin.edit_user', id=user.id) }}" class="space-y-4"> |
|
{{ form.hidden_tag() }} |
|
|
|
<div class="space-y-2"> |
|
<label for="{{ form.role.id }}" class="block text-sm font-medium text-gray-700"> |
|
Rôle <span class="text-red-600">*</span> |
|
</label> |
|
{{ form.role(class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring focus:ring-blue-200 focus:border-blue-500") }} |
|
{% if form.role.errors %} |
|
<div class="text-red-600 text-sm mt-1"> |
|
{% for error in form.role.errors %} |
|
<p>{{ error }}</p> |
|
{% endfor %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4"> |
|
<div class="space-y-2"> |
|
<div class="flex items-center"> |
|
{{ form.is_active(class="h-4 w-4 text-blue-600 border-gray-300 rounded mr-2") }} |
|
<label for="{{ form.is_active.id }}" class="block text-sm font-medium text-gray-700"> |
|
Compte Actif |
|
</label> |
|
</div> |
|
{% if form.is_active.errors %} |
|
<div class="text-red-600 text-sm mt-1"> |
|
{% for error in form.is_active.errors %} |
|
<p>{{ error }}</p> |
|
{% endfor %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
|
|
<div class="space-y-2"> |
|
<div class="flex items-center"> |
|
{{ form.is_banned(class="h-4 w-4 text-red-600 border-gray-300 rounded mr-2") }} |
|
<label for="{{ form.is_banned.id }}" class="block text-sm font-medium text-gray-700"> |
|
Compte Banni |
|
</label> |
|
</div> |
|
{% if form.is_banned.errors %} |
|
<div class="text-red-600 text-sm mt-1"> |
|
{% for error in form.is_banned.errors %} |
|
<p>{{ error }}</p> |
|
{% endfor %} |
|
</div> |
|
{% endif %} |
|
</div> |
|
</div> |
|
|
|
<div class="space-y-2"> |
|
<label for="{{ form.ban_reason.id }}" class="block text-sm font-medium text-gray-700"> |
|
Raison du Bannissement |
|
</label> |
|
{{ form.ban_reason(class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring focus:ring-blue-200 focus:border-blue-500", rows=3) }} |
|
{% if form.ban_reason.errors %} |
|
<div class="text-red-600 text-sm mt-1"> |
|
{% for error in form.ban_reason.errors %} |
|
<p>{{ error }}</p> |
|
{% endfor %} |
|
</div> |
|
{% endif %} |
|
<p class="text-sm text-gray-500">Indiquez la raison du bannissement si l'utilisateur est banni. Cette raison sera visible par l'utilisateur.</p> |
|
</div> |
|
|
|
<div class="flex justify-between pt-4"> |
|
<a href="{{ url_for('admin.manage_users') }}" class="px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 focus:outline-none focus:ring"> |
|
Annuler |
|
</a> |
|
<button type="submit" class="px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 focus:outline-none focus:ring"> |
|
Enregistrer les Modifications |
|
</button> |
|
</div> |
|
</form> |
|
</div> |
|
|
|
<div class="bg-white rounded-lg shadow-sm p-6 mt-6"> |
|
<h2 class="text-xl font-bold mb-4">Informations Utilisateur</h2> |
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-4"> |
|
<div> |
|
<h3 class="text-sm font-medium text-gray-500">Date d'inscription</h3> |
|
<p class="text-gray-900">{{ user.created_at | format_datetime }}</p> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-sm font-medium text-gray-500">Dernière connexion</h3> |
|
<p class="text-gray-900">{{ user.last_seen | format_datetime }}</p> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-sm font-medium text-gray-500">Sujets créés</h3> |
|
<p class="text-gray-900">{{ user.topics.count() }}</p> |
|
</div> |
|
|
|
<div> |
|
<h3 class="text-sm font-medium text-gray-500">Messages postés</h3> |
|
<p class="text-gray-900">{{ user.posts.count() }}</p> |
|
</div> |
|
</div> |
|
|
|
<div class="mt-4"> |
|
<a href="{{ url_for('user.profile', username=user.username) }}" class="text-blue-600 hover:text-blue-800 flex items-center"> |
|
<i data-feather="external-link" class="w-4 h-4 mr-1"></i> |
|
Voir le profil public |
|
</a> |
|
</div> |
|
</div> |
|
{% endblock %} |