@extends('layouts.app-layout') @section('title', 'Funcionarios - ' . config('app.name')) @section('navbar_suffix', 'Funcionarios') @section('content') @php $user = auth()->user(); $funcionarioActual = $user->funcionario ?? null; // Siempre volver al dashboard de funcionario para evitar loops de back a la misma vista $volverUrl = route('funcionario.dashboard'); @endphp
{{-- Nuevo --}}
@if (session('success') || session('error') || session('warning'))
@if (session('success'))
{{ session('success') }}
@endif @if (session('error'))
{{ session('error') }}
@endif @if (session('warning'))
{{ session('warning') }}
@endif
@endif @php $filtroActual = $filtro ?? 'activos'; @endphp
@forelse($funcionarios as $funcionario) @php $nombre = $funcionario->user->nombre ?? ''; $apellido = $funcionario->user->apellido ?? ''; $cedula = $funcionario->user->cedula ?? '—'; $email = $funcionario->user->email ?? '—'; $telefono = $funcionario->user->telefono ?? '—'; $iniciales = mb_substr($nombre, 0, 1) . mb_substr($apellido, 0, 1); $estadoLabel = 'Inactivo'; $estadoClass = 'bg-warning-subtle text-warning-emphasis'; $estadoRaw = $funcionario->estado->value ?? $funcionario->estado; if ($funcionario->trashed()) { $estadoLabel = 'Eliminado'; $estadoClass = 'bg-danger-subtle text-danger-emphasis'; } elseif ($estadoRaw === 'activo') { $estadoLabel = 'Activo'; $estadoClass = 'bg-success-subtle text-success-emphasis'; } $puedeGestionarActivo = !$funcionario->trashed() && $estadoRaw === 'activo'; $puedeRestaurar = $funcionario->trashed() || $estadoRaw === 'inactivo'; $busquedaRow = strtolower(trim("$nombre $apellido $cedula $email $telefono")); @endphp
{{-- Avatar --}}
{{ $iniciales }}
{{-- Info --}}
{{ $nombre }} {{ $apellido }} {{ $funcionario->rol->label() }} {{ $estadoLabel }}
{{ $cedula }} {{ $email }} {{ $telefono }}
{{-- Acciones --}}
@if ($puedeGestionarActivo) @endif @if ($puedeRestaurar) @endif
@csrf @method('PATCH')
{{-- Modal de confirmación de eliminación --}} @if ($puedeGestionarActivo) @endif @empty
No hay funcionarios registrados.
@endforelse
@if ($funcionarios instanceof \Illuminate\Pagination\LengthAwarePaginator && $funcionarios->hasPages())
Mostrando {{ $funcionarios->firstItem() }}–{{ $funcionarios->lastItem() }} de {{ $funcionarios->total() }} resultados
{{ $funcionarios->withQueryString()->links('pagination::simple-bootstrap-5') }}
@endif
@endsection @push('scripts') @endpush