| {% extends "layout.html" %} | |
| {% block title %}Création d'Administrateur | Forum Communautaire{% endblock %} | |
| {% block breadcrumb %} | |
| <a href="{{ url_for('forum.index') }}" class="hover:text-blue-600">Accueil</a> | |
| <span class="mx-2">/</span> | |
| <span class="text-gray-700">Création d'Administrateur</span> | |
| {% endblock %} | |
| {% block content %} | |
| <div class="bg-white shadow rounded-lg p-6"> | |
| <h1 class="text-2xl font-bold text-gray-800 mb-6">Création d'un Compte Administrateur</h1> | |
| <div class="mb-8 p-4 border border-blue-200 bg-blue-50 rounded-md"> | |
| <h2 class="text-lg font-semibold text-blue-800 mb-2">Information de Sécurité</h2> | |
| <p class="text-blue-700"> | |
| Cette page est protégée par un token secret. Partagez ce lien uniquement avec les personnes qui doivent créer des comptes administrateur : | |
| </p> | |
| <div class="mt-2 p-3 bg-white border border-blue-300 rounded-md overflow-x-auto"> | |
| <code class="text-sm">{{ url_for('cadmin.admin_panel', secret=token, _external=True) }}</code> | |
| </div> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-8"> | |
| <div> | |
| <form method="POST" class="space-y-4"> | |
| {{ form.hidden_tag() }} | |
| <div> | |
| <label for="username" class="block text-sm font-medium text-gray-700">Nom d'utilisateur</label> | |
| {{ form.username(class="mt-1 p-2 w-full border border-gray-300 rounded-md focus:ring focus:ring-blue-200 focus:border-blue-500") }} | |
| {% if form.username.errors %} | |
| <div class="text-red-600 text-sm mt-1"> | |
| {% for error in form.username.errors %} | |
| <span>{{ error }}</span> | |
| {% endfor %} | |
| </div> | |
| {% endif %} | |
| </div> | |
| <div> | |
| <label for="email" class="block text-sm font-medium text-gray-700">Email</label> | |
| {{ form.email(class="mt-1 p-2 w-full border border-gray-300 rounded-md focus:ring focus:ring-blue-200 focus:border-blue-500") }} | |
| {% if form.email.errors %} | |
| <div class="text-red-600 text-sm mt-1"> | |
| {% for error in form.email.errors %} | |
| <span>{{ error }}</span> | |
| {% endfor %} | |
| </div> | |
| {% endif %} | |
| </div> | |
| <div> | |
| <label for="password" class="block text-sm font-medium text-gray-700">Mot de passe</label> | |
| {{ form.password(class="mt-1 p-2 w-full border border-gray-300 rounded-md focus:ring focus:ring-blue-200 focus:border-blue-500") }} | |
| {% if form.password.errors %} | |
| <div class="text-red-600 text-sm mt-1"> | |
| {% for error in form.password.errors %} | |
| <span>{{ error }}</span> | |
| {% endfor %} | |
| </div> | |
| {% endif %} | |
| </div> | |
| <div> | |
| <label for="password2" class="block text-sm font-medium text-gray-700">Confirmer le mot de passe</label> | |
| {{ form.password2(class="mt-1 p-2 w-full border border-gray-300 rounded-md focus:ring focus:ring-blue-200 focus:border-blue-500") }} | |
| {% if form.password2.errors %} | |
| <div class="text-red-600 text-sm mt-1"> | |
| {% for error in form.password2.errors %} | |
| <span>{{ error }}</span> | |
| {% endfor %} | |
| </div> | |
| {% endif %} | |
| </div> | |
| <div> | |
| <button type="submit" class="w-full bg-blue-600 hover:bg-blue-700 text-white py-2 px-4 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"> | |
| Créer Administrateur | |
| </button> | |
| </div> | |
| </form> | |
| </div> | |
| <div> | |
| <h2 class="text-xl font-semibold text-gray-800 mb-4">Administrateurs Existants</h2> | |
| {% if admins %} | |
| <div class="border border-gray-200 rounded-md overflow-hidden"> | |
| <table class="min-w-full divide-y divide-gray-200"> | |
| <thead class="bg-gray-50"> | |
| <tr> | |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Nom d'utilisateur</th> | |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Email</th> | |
| <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Date de création</th> | |
| </tr> | |
| </thead> | |
| <tbody class="bg-white divide-y divide-gray-200"> | |
| {% for admin in admins %} | |
| <tr> | |
| <td class="px-6 py-4 whitespace-nowrap">{{ admin.username }}</td> | |
| <td class="px-6 py-4 whitespace-nowrap">{{ admin.email }}</td> | |
| <td class="px-6 py-4 whitespace-nowrap">{{ admin.created_at.strftime('%d/%m/%Y') }}</td> | |
| </tr> | |
| {% endfor %} | |
| </tbody> | |
| </table> | |
| </div> | |
| {% else %} | |
| <div class="p-4 border border-gray-200 rounded-md bg-gray-50"> | |
| <p class="text-gray-600">Aucun administrateur n'existe encore. Utilisez le formulaire pour en créer un.</p> | |
| </div> | |
| {% endif %} | |
| </div> | |
| </div> | |
| </div> | |
| {% endblock %} |