Errores #3245
cerradaWorkflow del proyecto inestable en borrado de estado
100%
Descripción
Cuando se borra el estado actual de un proyecto se realizan las siguientes acciones:
1) Se elimina el estado actual
2) Se define como estado actual el último modificado
Esto tiene 2 problemas:
1) El último modificado no tiene porqué corresponder al estado que debería quedar como activo. Es posible que se hayan modificado las fechas de entrada y salida del proyecto en el estado con lo que updated_at ya no indica el deseado.
2) Si las validaciones de estado impiden marcar como activo el nuevo, el proyecto se queda sin ningún estado activo.
Por lo tanto:
1) Hay que cambiar la búsqueda del nuevo estado a marcar como activo según la fecha de entrada en el estado (fecha_inicio)
2) Hay que meter el borrado y la modificación de estado activo dentro de una transacción para poder hacer un rollback de todo si las validaciones fallan.