Gestion utilisateurs, limites recherche, filtres lieux/sources, fix logo prod
- Admin : CRUD complet utilisateurs (créer, modifier nom/email/mdp/rôle, supprimer) avec garde-fous (dernier admin, compte propre) - Recherche : limite configurable par l'admin (défaut 200), bannière d'avertissement quand la limite est atteinte, plus de pagination (résultats en bloc) - Lieux : liste non chargée sans filtre actif (performance sur grands volumes) - Sources : idem pour admin/responsables ; membres voient toujours leurs sources - Logo 404 prod : +FollowSymLinks dans .htaccess, storage:link dans l'assistant d'installation, bouton "Recréer le lien" dans Administration → Paramètres Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -69,9 +69,16 @@ class SourceController extends Controller
|
||||
? Lieu::find($request->integer('lieu_id'), ['id', 'nom', 'nom_long'])
|
||||
: null;
|
||||
|
||||
$sources = $query->orderBy('nom')->paginate(25)->withQueryString();
|
||||
// Pour les admins/responsables, exiger au moins un filtre avant d'afficher
|
||||
// les résultats (ils peuvent voir potentiellement des milliers de sources).
|
||||
// Les membres normaux voient toujours leurs sources (déjà filtrées par accès).
|
||||
$hasFilters = $request->anyFilled(['status', 'source_type_id', 'lieu_id', 'annee_debut', 'annee_fin']);
|
||||
$requiresFilter = $user->isSectionManager();
|
||||
$sources = ($requiresFilter && ! $hasFilters)
|
||||
? null
|
||||
: $query->orderBy('nom')->paginate(25)->withQueryString();
|
||||
|
||||
return view('sources.index', compact('sources', 'sourceTypes', 'lieuSelectionne'));
|
||||
return view('sources.index', compact('sources', 'sourceTypes', 'lieuSelectionne', 'hasFilters'));
|
||||
}
|
||||
|
||||
private function getLieuDescendantIds(int $lieuId): array
|
||||
|
||||
Reference in New Issue
Block a user