@extends('layouts.app') @section('title', $scan->site_name ?? 'Partage') @section('header', ($scan->site_name ?? $scan->serveur ?? '') . ' — Détail des permissions') @push('styles') @endpush @section('content') @php $statutLabels = ['pending' => ['En attente…', 'text-yellow-600'], 'running' => ['Scan en cours…', 'text-blue-600'], 'stopped' => ['Arrêté (partiel)', 'text-orange-600'], 'failed' => ['Échec', 'text-red-600'], 'completed' => ['Terminé', 'text-green-600']]; $label = $statutLabels[$scan->statut] ?? ['?', 'text-gray-400']; $detailRoute = 'admin.permissions.' . ($scan->site_name ? 'sharepoint' : 'partage') . '.detail'; @endphp
← Permissions {{ $label[0] }} {{ $scan->total_dossiers }} dossier(s) — {{ $scan->total_entrees_acl }} entrée(s) ACL @if($scan->scanne_le) {{ $scan->scanne_le->format('d/m/Y H:i') }} @endif
@if($scan->statut === 'failed' && $scan->erreurs)
Erreur : {{ is_array($scan->erreurs) ? implode('; ', $scan->erreurs) : $scan->erreurs }}
@endif @if($dossier !== '') @php $uniques = $acl->unique(fn($e) => $e->principal . '|' . $e->droits . '|' . $e->est_herite); $nbGroupes = $uniques->filter(fn($e) => str_starts_with($e->principal, 'SECU-'))->count(); $nbDirects = $uniques->filter(fn($e) => !str_starts_with($e->principal, 'SECU-') && !$e->est_herite)->count(); $nbHerites = $uniques->filter(fn($e) => $e->est_herite)->count(); $parDroit = $uniques->groupBy(fn($e) => \App\Helpers\AclDroits::niveau((string) $e->droits)) ->map->count(); $niveauCouleurs = ['full' => 'bg-red-100 text-red-700', 'modify' => 'bg-amber-100 text-amber-700', 'exec' => 'bg-sky-100 text-sky-700', 'read' => 'bg-emerald-100 text-emerald-700']; $niveauLibelles = ['full' => 'Contrôle total', 'modify' => 'Modification', 'exec' => 'Lecture & exécution', 'read' => 'Lecture']; @endphp

Permissions {{ $acl->contains('est_fichier', true) ? 'du fichier' : 'du dossier' }} « {{ $dossier }} »

{{ $nbGroupes }} groupe(s) {{ $nbDirects }} utilisateur(s) direct(s) {{ $nbHerites }} hérité(s) @foreach(['full', 'modify', 'exec', 'read'] as $nv) @if(($parDroit[$nv] ?? 0) > 0) {{ $niveauLibelles[$nv] }} : {{ $parDroit[$nv] }} @endif @endforeach
@include('permissions._acl_list', ['acl' => $acl, 'filtre' => true])
@endif @if($dossier !== '' && $acl->isNotEmpty())
@endif

Sous-dossiers

@include('permissions._folder_list', [ 'items' => $folders['items'], 'total' => $folders['total'], 'page' => $folders['page'], 'perPage' => $folders['perPage'], 'dossier' => $folders['dossier'], 'detailRoute' => $detailRoute, 'scanId' => $scan->id, ])
@if(in_array($scan->statut, ['pending', 'running'])) @endif @endsection