Fix: agrega la edición y la eliminación de comentarios confidenciales de instancia
Qué
Corrige los Mantis 0044486 y 0044490: en el detalle de una instancia, el bloque "Comentarios confidenciales" permitía agregar comentarios pero no editar ni eliminar los existentes, aunque el usuario tuviera los permisos.
Por qué
El backend ya expone PUT y DELETE /instancias/{id}/comentarios-confidenciales/{idComentario}, pero el frontend no tenía ni las llamadas ni las acciones en pantalla. Se resuelve con el mismo criterio que los comentarios normales: lo editado y lo eliminado deja una marca en el seguimiento.
Cambios
-
src/lib/instancia-comentarios.ts: nuevas funcioneseditarComentarioConfidencialyeliminarComentarioConfidencial. -
src/components/instancias/InstanciaComentarios.tsx: el bloque confidencial recibe las acciones, cada una según su permiso (EDITAR_COMENTARIO_CONFIDENCIAL_INSTANCIAyELIMINAR_COMENTARIO_CONFIDENCIAL_INSTANCIA).
El comportamiento es el que ya tienen los comentarios normales:
- "Editar" pasa el texto a un textarea con "Guardar" y "Cancelar".
- "Eliminar" pide confirmación. El comentario eliminado queda en su lugar con autor y fecha, y en vez del texto muestra "Comentario eliminado el dd/mm hh:mm", sin acciones.
- Un comentario editado muestra "· editado el dd/mm hh:mm" junto a la fecha.
Aplica también al detalle de una Incidencia, que usa el mismo componente.
Las acciones aparecen en cualquier comentario confidencial, no solo en los propios, porque el backend exige el permiso y no valida el autor.
Dependencias
- Está apilado sobre
fix/mensaje-comentario-vacio-instancia(!47 (merged)), porque toca el mismo componente. Mergear primero el !47 (merged); hasta entonces este MR muestra también ese commit. - Mergear junto con el MR de backend
pft/fix/editar-eliminar-comentario-confidencial-instancia, que es el que devuelve los eliminados y el campoeditado.
- Iniciar sesión con un usuario que tenga los permisos de ver, editar y eliminar comentarios confidenciales (por ejemplo Administrador).
- Abrir el detalle de una instancia activa con al menos un comentario confidencial.
- Tocar "Editar", cambiar el texto y guardar: se muestra el texto nuevo y la marca "editado el ...".
- Tocar "Eliminar" y cancelar el diálogo: el comentario queda igual.
- Tocar "Eliminar" y confirmar: el comentario queda como "Comentario eliminado el ...", sin texto ni acciones.
- Verificar en la base que la fila sigue existiendo con estado
ELIMINADO. - Repetir los pasos 3 y 5 en el detalle de una Incidencia.
- Iniciar sesión con un usuario sin los permisos de editar y eliminar: no ve los botones.
Cambios en BD
Ninguno.