@extends('layouts.app-layout') @php use App\Enums\AccionEstadoEnum; use App\Enums\FuncionarioRolEnum; $puedeGestionarAccion = $puedeGestionarAccion ?? (bool) auth()->user()?->funcionario; $esFuncionarioAdmin = (auth()->user()?->funcionario?->rol?->value ?? auth()->user()?->funcionario?->rol) === FuncionarioRolEnum::ADMIN->value; $funcionarios = $funcionarios ?? collect(); $estadoEnum = $accion->estado instanceof AccionEstadoEnum ? $accion->estado : AccionEstadoEnum::tryFrom((string) $accion->estado); $accionEliminada = method_exists($accion, 'trashed') && $accion->trashed(); $accionVencida = $accion->fecha_vencimiento && $accion->fecha_vencimiento->lt(now()->startOfDay()); $estadosContactoDisponibles = AccionEstadoEnum::cases(); $esContactoAutenticado = $esContactoAutenticado ?? (bool) auth()->user()?->contacto; $funcionariosLookup = $funcionarios->map(function ($funcionario) { return [ 'id' => $funcionario->id, 'nombre' => trim(($funcionario->user->nombre ?? '') . ' ' . ($funcionario->user->apellido ?? '')), 'rol' => $funcionario->rol->label(), ]; })->values(); $estadoClass = match($estadoEnum) { AccionEstadoEnum::PENDIENTE => 'bg-warning-subtle text-warning-emphasis', AccionEstadoEnum::EN_PROCESO => 'bg-primary-subtle text-primary', AccionEstadoEnum::FINALIZADA => 'bg-success-subtle text-success', default => 'bg-secondary-subtle text-secondary' }; $estadoLabel = $estadoEnum?->label() ?? ucfirst((string) $accion->estado); @endphp @section('title', 'Acción - ' . config('app.name')) @section('navbar_suffix', 'Acciones') @section('content')
Estado
@if($puedeGestionarAccion && !$accionEliminada) @elseif($esContactoAutenticado && !$puedeGestionarAccion && !$accionEliminada) @if(!$accionVencida) @else Sin edición (vencida) @endif @endifVencimiento
{{ $accion->fecha_vencimiento ? \Illuminate\Support\Carbon::parse($accion->fecha_vencimiento)->format('d/m/Y') : 'Sin fecha' }}
Fecha de creación
{{ $accion->created_at?->format('d/m/Y H:i') ?? 'No disponible' }}
Última modificación
{{ $accion->updated_at?->format('d/m/Y H:i') ?? 'No disponible' }}
Descripcion
{{ $accion->descripcion }}
Planes asociados
Unidades de atención
{{ $puedeGestionarAccion ? 'Asigna uno o más funcionarios a esta acción.' : 'Responsables asignados a esta acción.' }}