Proyecto

General

Perfil

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

Atrás