Skip to content

[LOGIC / BUSINESS] F-02.8 — Estado del Log (Activo / Solucionado)

Épica: EPIC-02 — Listado y Filtrado de Logs Activos

🏷️ Categoría

Categoría: Logic / BusinessSecundaria: UI / PresentationImpacta en: Equipo Fullstack (Livewire + Laravel)

📦 Dependencias

Backlogs que deben estar completados antes de implementar esta feature.

BacklogMotivo
F-02.1Componente LogsTable donde se añade el botón 'Solucionado'
F-03.1Vista detalle del log donde también aparece el botón

Prioridad: Should


Descripción: Como administrador del sistema Quiero marcar un log como "Solucionado" con un clic rápido desde la tabla o el detalle Para que desaparezca de la vista de logs activos sin necesidad de archivarlo en el histórico con un comentario detallado

Criterios de Aceptación (Checklist):

  • [ ] Escenario 1 (Marcar como solucionado): Dado que veo un log activo en la tabla, cuando pulso el botón "Solucionado" (icono de check), entonces el log cambia su estado a solucionado y desaparece de la lista de activos sin recargar la página.
  • [ ] Escenario 2 (Modal de confirmación): Dado que pulso "Solucionado", cuando se ejecuta la acción, entonces se muestra un modal de confirmación (Alpine.js x-show) antes de proceder para evitar clics accidentales.
  • [ ] Escenario 3 (Sin comentario obligatorio): Dado que marco un log como solucionado, cuando se confirma, entonces no se requiere comentario ni descripción — la acción es inmediata (diferente del archivado en histórico).
  • [ ] Escenario 4 (Diferencia con histórico): Dado que existen dos acciones sobre un log activo ("Guardar en Histórico" y "Solucionado"), cuando el admin abre el detalle, entonces ambos botones son visibles y claramente diferenciados.
  • [ ] Escenario 5 (Campo en DB): El campo resolved de la tabla logs se usa como estado: false = activo, true = solucionado (soft-close). El panel filtra automáticamente WHERE resolved = false en la vista de activos.
  • [ ] Requisito Técnico: Livewire Action markAsSolved(id) en el componente LogsTable o LogDetail. Ejecuta UPDATE logs SET resolved = true WHERE id = ? mediante Eloquent. El componente se re-renderiza y el log desaparece de la lista.

MoSCoW: SHOULDSprint: Sprint 2

Notas:

  • Esta acción es un "soft close" rápido. El log NO pasa al histórico ni genera entrada en archived_logs.
  • Si se quiere preservar el log en el histórico con comentarios, se usa el botón "Guardar en Histórico" (F-03.2).
  • resolved = true es un "soft close" rápido: el log deja de aparecer en la vista activa pero no genera entrada en archived_logs. El archivado (F-03.2) hace un DELETE físico del log de la tabla logs y crea un archived_log con historial. Son dos acciones completamente distintas e incompatibles.

Log Management Dashboard — Documentación del Proyecto