@extends('admin.layout') @section('title', 'Détails du membre') @section('content')

@yield('title')

@php // On ne peut gérer un administrateur que s'il s'agit de soi-même $canManage = !$user->hasRole('administrateur') || $user->id === auth()->id(); @endphp @if (session('success'))
{{ session('success') }}
@endif @if (session('error'))
{{ session('error') }}
@endif {{-- ================== CARD USER ================== --}}
{{-- Header utilisateur --}}

{{ $user->nom }} {{ $user->prenom }}

{{ $user->actif ? 'Compte actif' : 'Compte inactif' }}
@can('users.edit') @if ($canManage) @endif @endcan @can('users.sendCredentials') @if ($canManage)
@csrf
@endif @endcan @can('users.delete') @if ($canManage)
@csrf @method('DELETE')
@endif @endcan
{{-- Infos principales --}}

Poste :
{{ mb_strtoupper($user->poste) }}


{{-- Rôles --}}
Rôles :
@forelse ($user->roles as $role) {{ mb_strtoupper($role->name) }} @empty Aucun rôle @endforelse
{{-- Permissions --}}
Permissions :
@forelse ($user->getAllPermissions() as $perm) @permissionBadge($perm->name) @empty Aucune permission @endforelse
{{-- ================== PLANNINGS ================== --}}
🗓️ Plannings ({{ $planningsTotal }})
@include('admin.membres.users._plannings_accordion', [ 'plannings' => $plannings, 'planningInfos' => $planningInfos, 'user' => $user, ]) @if ($planningsTotal > $planningsLimit) @endif
{{-- ================== ABSENCES ================== --}}
🌴 Absences
@forelse ($absences as $absence) @empty @endforelse
Date début Date fin Raison Saisi par
{{ !empty($absence['begin_date']) ? \Carbon\Carbon::parse($absence['begin_date'])->format('d/m/Y') : '—' }} {{ !empty($absence['end_date']) ? \Carbon\Carbon::parse($absence['end_date'])->format('d/m/Y') : '—' }} {{ $absence['reason'] ?? '—' }} {{ trim(($absence['first_name_author'] ?? '') . ' ' . ($absence['last_name_author'] ?? '')) ?: '—' }}
Aucune absence.
{{-- ================== LOGS ================== --}}
📝 100 derniers logs
@forelse ($user->logs as $log)
{{-- Header log --}}
{{ mb_strtoupper($log->action_label, 'UTF-8') }} {{ class_basename($log->loggable_type) }} #{{ $log->loggable_id }}
{{ $log->created_at->format('d/m/Y H:i') }}
{{-- Contenu du log --}} @if ($log->filtered_new_values) @foreach ($log->filtered_new_values as $key => $newValue) {{-- Si "updated" et que la valeur n'a pas réellement changé, on saute --}} @if ( $log->action === 'updated' && (!isset($log->filtered_old_values[$key]) || $log->filtered_old_values[$key] == $newValue)) @continue @endif {{-- Infos API (client / devis / interventions) : rendu lisible --}} @if ($key === 'infos_api' && is_array($newValue)) @include('admin.membres.users._log_infos_api', ['infos' => $newValue]) @continue @endif
{{ ucfirst(str_replace('_', ' ', $key)) }}
@if ($log->action === 'updated' && isset($log->filtered_old_values[$key])) {{ is_array($log->filtered_old_values[$key]) ? json_encode($log->filtered_old_values[$key], JSON_UNESCAPED_UNICODE) : $log->filtered_old_values[$key] }} {{ is_array($newValue) ? json_encode($newValue, JSON_UNESCAPED_UNICODE) : $newValue }} @else {{ is_array($newValue) ? json_encode($newValue, JSON_UNESCAPED_UNICODE) : $newValue }} @endif
@endforeach @endif
@empty
Aucun log trouvé.
@endforelse
@endsection