Correccion - Mejora #5084
Actualizado por Oscar Abad hace alrededor de 1 año
h1. Especificación El cambio de estado del proyecto tiene dos fases: 1) Crea el nuevo estado y lo define como estado actual 2) Modifica el estado anterior quitándole el "estado actual" y añadiendo la información de modificación (usuario y fecha) junto a los comentarios del cambio de estado. Si se produce un error en el punto segundo el resultado es que el proyecto se queda con dos estados "actuales" dejando inconsistentes los estados y causando un error en los datos del cuadro de mando. Hay que meter toda la operación de estados en un "Transaction" para evitar que se produzca esa situación y si se detecta un error se genere un rollback y se tire para atrás la creación inicial. h1. Implementación En el método modificar_estado de estado_controller.rb, controlar mediante transacción los cambios en BD de @estado y @estado_anterior