feat: eliminar actividad, bloqueado si tiene tareas pendientes
No existia forma de borrar una actividad. Agregado DELETE /api/activities/:id con boton "Eliminar" en el listado (popup de confirmacion). Si tiene tareas, se bloquea con 400 y mensaje claro en vez de arrastrar todo en cascada sin avisar. De paso: la logica de borrar adjunto (fila + archivo en disco) se extrajo a un attachments/service.js reutilizable, usado tanto por el borrado individual como por el borrado en cascada de una actividad (evita archivos huerfanos). Comentarios de la actividad tambien se limpian (sin FK fisica cruzada, entity_type/entity_id es polimorfico). Probado en dev con curl (bloquea con tarea, permite sin tareas, 404 tras borrar) y Playwright (mensaje de advertencia visible). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,16 @@
|
||||
# Changelog - project.linkedcorp.net
|
||||
|
||||
## [1.13.0] - 2026-09-15
|
||||
### Added
|
||||
- Eliminar actividad: `DELETE /api/activities/:id` (no existía) + botón "Eliminar" en el listado
|
||||
de actividades, con popup de confirmación. Si la actividad tiene tareas, se bloquea con un
|
||||
mensaje claro ("Esta actividad tiene N tarea(s). Elimina primero las tareas antes de borrar la
|
||||
actividad.") en vez de borrar en cascada silenciosamente.
|
||||
### Changed
|
||||
- Adjuntos: la lógica de borrar archivo + fila (antes solo inline en el controller) se movió a un
|
||||
nuevo `attachments/service.js` reutilizable, usado tanto por el borrado individual como por el
|
||||
borrado en cascada al eliminar una actividad (evita archivos huérfanos en disco).
|
||||
|
||||
## [1.12.5] - 2026-09-14
|
||||
### Changed
|
||||
- Listado de Proyectos: columna "Creado" reemplazada por "Actualizado" (fecha y hora), y es ahora
|
||||
|
||||
Reference in New Issue
Block a user