Import/export CSV utilisateurs, filtre statut et titre du site modifiable
Utilisateurs :
- Filtre actif/inactif dans la liste (status=active|inactive)
- Export CSV avec les filtres actifs — séparateur ;, BOM UTF-8 (compatible Excel)
- Import CSV : détection auto du séparateur, validation ligne par ligne,
mot de passe temporaire généré + affiché une seule fois dans les résultats
- Téléchargement d'un fichier modèle CSV
Paramètres du site :
- Champ "Titre du site" (site_name dans site_settings.json)
- Titre partagé via SiteSettingsService::siteName() et injecté dans config('app.name')
au boot — s'applique partout sans modifier .env
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -95,24 +95,51 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- Inscriptions --}}
|
||||
<div class="bg-white shadow rounded-lg p-6 space-y-4">
|
||||
<h3 class="text-sm font-semibold text-gray-700 uppercase tracking-wide">Inscriptions</h3>
|
||||
<p class="text-sm text-gray-500">
|
||||
Autorise ou non les visiteurs à créer un compte via la page d'inscription publique.
|
||||
Quand désactivées, seul un administrateur peut créer des comptes (via la gestion des utilisateurs).
|
||||
</p>
|
||||
{{-- Titre du site + Inscriptions (formulaire commun) --}}
|
||||
<div class="bg-white shadow rounded-lg p-6 space-y-6">
|
||||
<h3 class="text-sm font-semibold text-gray-700 uppercase tracking-wide">Paramètres généraux</h3>
|
||||
|
||||
<form method="POST" action="{{ route('admin.parametres.update') }}">
|
||||
<form method="POST" action="{{ route('admin.parametres.update') }}" class="space-y-5">
|
||||
@csrf
|
||||
<label class="flex items-center gap-3 cursor-pointer">
|
||||
<input type="hidden" name="registration_enabled" value="0">
|
||||
<input type="checkbox" name="registration_enabled" value="1"
|
||||
{{ $registrationEnabled ? 'checked' : '' }}
|
||||
class="w-4 h-4 text-indigo-600 border-gray-300 rounded focus:ring-indigo-500">
|
||||
<span class="text-sm text-gray-700">Autoriser l'inscription de nouveaux comptes</span>
|
||||
</label>
|
||||
<div class="mt-4">
|
||||
|
||||
{{-- Titre du site --}}
|
||||
<div>
|
||||
<label for="site_name" class="block text-sm font-medium text-gray-700 mb-1">
|
||||
Titre du site
|
||||
</label>
|
||||
<input type="text" id="site_name" name="site_name"
|
||||
value="{{ old('site_name', \App\Services\SiteSettingsService::get('site_name')) }}"
|
||||
placeholder="{{ config('app.name', 'MesRelevés') }}"
|
||||
maxlength="100"
|
||||
class="block w-full rounded-md border-gray-300 shadow-sm text-sm
|
||||
focus:border-indigo-500 focus:ring-indigo-500">
|
||||
<p class="mt-1 text-xs text-gray-400">
|
||||
Affiché dans la navigation, les e-mails et les exports.
|
||||
Laisser vide pour utiliser la valeur par défaut
|
||||
(« {{ config('app.name', 'MesRelevés') }} »).
|
||||
</p>
|
||||
@error('site_name')
|
||||
<p class="mt-1 text-sm text-red-600">{{ $message }}</p>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
{{-- Inscriptions --}}
|
||||
<div class="pt-4 border-t border-gray-100">
|
||||
<p class="text-sm font-medium text-gray-700 mb-2">Inscription publique des comptes</p>
|
||||
<p class="text-xs text-gray-500 mb-3">
|
||||
Autorise ou non les visiteurs à créer un compte via la page d'inscription.
|
||||
Quand désactivée, seul un administrateur peut créer des comptes.
|
||||
</p>
|
||||
<label class="flex items-center gap-3 cursor-pointer">
|
||||
<input type="hidden" name="registration_enabled" value="0">
|
||||
<input type="checkbox" name="registration_enabled" value="1"
|
||||
{{ $registrationEnabled ? 'checked' : '' }}
|
||||
class="w-4 h-4 text-indigo-600 border-gray-300 rounded focus:ring-indigo-500">
|
||||
<span class="text-sm text-gray-700">Autoriser l'inscription de nouveaux comptes</span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button type="submit"
|
||||
class="px-5 py-2 bg-indigo-600 text-white text-sm font-medium rounded-md hover:bg-indigo-700">
|
||||
Enregistrer
|
||||
|
||||
Reference in New Issue
Block a user