Skip to content

Fix: agrega la edición de comentarios normales en el detalle de instancia

belen.varsi requested to merge fix/eliminar-comentario-normal-instancia into dev

Mantis 0044483

Qué

Corrige el Mantis 0044484: en el detalle de una instancia no había acción para eliminar un comentario normal. Además, los comentarios eliminados y editados dejan una marca visible en el seguimiento.

Por qué

El backend ya exponía DELETE /instancias/{id}/comentarios-normales/{idComentario}, pero el frontend no tenía la acción. Las marcas se agregan para que eliminar o editar no deje huecos invisibles: quien lee el seguimiento ve que hubo un comentario o un cambio sin depender de la auditoría.

Cambios

  • src/lib/instancia-comentarios.ts: nueva función eliminarComentarioNormal. El tipo ComentarioInstancia suma editado y admite contenido en null.
  • src/components/instancias/InstanciaComentarios.tsx:
    • Botón "Eliminar" en cada comentario normal si el usuario tiene ELIMINAR_COMENTARIO_NORMAL_INSTANCIA, con confirmación (ConfirmDialog).
    • Un comentario eliminado se muestra con autor y fecha, y el texto "Comentario eliminado el dd/mm hh:mm" en lugar del contenido, sin acciones.
    • Un comentario editado muestra "· editado el dd/mm hh:mm" junto a la fecha.
    • La prop edicion de ComentarioBox pasa a llamarse acciones y lleva editar y eliminar por separado, cada uno según su permiso.

Aplica también al detalle de una Incidencia, que usa el mismo componente. Los comentarios confidenciales no cambian.

Dependencias

  • Está apilado sobre !40 (merged) (editar comentario normal): mergear !40 (merged) primero.
  • Las marcas dependen del MR de backend pft/fix/marca-comentarios-editados-eliminados. Sin ese MR, eliminar funciona pero el comentario desaparece de la lista sin dejar marca.

Cómo probar

  1. Iniciar sesión con un usuario que tenga ELIMINAR_COMENTARIO_NORMAL_INSTANCIA (por ejemplo Administrador).
  2. Abrir el detalle de una instancia activa con al menos dos comentarios normales.
  3. Tocar "Eliminar" en uno y cancelar: no cambia nada.
  4. Tocar "Eliminar" y confirmar: el comentario queda en su lugar como "Comentario eliminado el ...", sin texto ni acciones.
  5. Verificar en la base que el comentario quedó en estado ELIMINADO (segundo paso del caso de prueba; el Mantis dice "inactivo", pero el estado que usa el backend para comentarios es ELIMINADO).
  6. Editar otro comentario: muestra "· editado el ..." junto a la fecha.
  7. Repetir en el detalle de una Incidencia.
  8. Con un usuario sin el permiso, verificar que no ve "Eliminar".

Cambios en BD

Ninguno.

Merge request reports

Loading