diff --git a/documents/plans/ISSUE31_PLAN.md b/documents/plans/ISSUE31_PLAN.md index 85965e5..59a35db 100644 --- a/documents/plans/ISSUE31_PLAN.md +++ b/documents/plans/ISSUE31_PLAN.md @@ -12,7 +12,7 @@ Implementar una máquina de estados completa para el modelo `stock.lot` con el f - **Archivo:** `lims_management/models/stock_lot.py` - **Tareas:** - - [ ] **Añadir campo `state`:** + - [x] **Añadir campo `state`:** - Tipo: `Selection` - Nombre técnico: `state` - String: "Estado" @@ -24,7 +24,7 @@ Implementar una máquina de estados completa para el modelo `stock.lot` con el f - `stored`: 'Almacenada' - `disposed`: 'Desechada' - Atributos: `tracking=True` para registrar cambios en el chatter. - - [ ] **Definir métodos para transiciones:** + - [x] **Definir métodos para transiciones:** - `action_receive()`: Cambia el estado a `received`. - `action_start_analysis()`: Cambia el estado a `in_process`. - `action_complete_analysis()`: Cambia el estado a `analyzed`. @@ -36,35 +36,35 @@ Implementar una máquina de estados completa para el modelo `stock.lot` con el f - **Archivo:** `lims_management/views/stock_lot_views.xml` - **Tareas:** - - [ ] **Vista de Formulario:** - - [ ] **Añadir `header`:** + - [x] **Vista de Formulario:** + - [x] **Añadir `header`:** - Incorporar botones para las acciones (`action_receive`, `action_start_analysis`, etc.). - Controlar la visibilidad de los botones según el estado actual (ej. el botón "Recibir" solo debe ser visible si el estado es 'Recolectada'). - - [ ] **Añadir `statusbar`:** + - [x] **Añadir `statusbar`:** - Visualizar el campo `state` usando el widget `statusbar`. - Definir el `statusbar_visible` para mostrar los estados clave del flujo principal. - - [ ] **Hacer campos `readonly`:** + - [x] **Hacer campos `readonly`:** - Campos como `patient_id`, `request_id`, `collection_date` deben volverse de solo lectura después de que la muestra es recibida para asegurar la integridad de los datos. Se usará el atributo `attrs` con el nuevo formato `invisible` o `readonly` basado en el campo `state`. - - [ ] **Vista de Lista:** - - [ ] Añadir el campo `state` para que sea visible. - - [ ] Añadir el campo `state` a los filtros por defecto en el `search` para poder agrupar por estado fácilmente. + - [x] **Vista de Lista:** + - [x] Añadir el campo `state` para que sea visible. + - [x] Añadir el campo `state` a los filtros por defecto en el `search` para poder agrupar por estado fácilmente. ### 3. Seguridad (Opcional, si es necesario) - **Archivo:** `lims_management/security/lims_security.xml` o `ir.model.access.csv` - **Tareas:** - - [ ] Evaluar si se necesitan reglas de seguridad específicas para controlar quién puede ejecutar las transiciones de estado. Por ahora, se asumirá que los grupos existentes (`group_lims_technician`, `group_lims_admin`) tienen los permisos. + - [x] Evaluar si se necesitan reglas de seguridad específicas para controlar quién puede ejecutar las transiciones de estado. Por ahora, se asumirá que los grupos existentes (`group_lims_technician`, `group_lims_admin`) tienen los permisos. ### 4. Verificación y Pruebas - **Pasos:** - - [ ] Reiniciar la instancia de Odoo con el módulo actualizado. - - [ ] Crear una nueva muestra de laboratorio manualmente. - - [ ] Verificar que el estado por defecto sea 'Recolectada'. - - [ ] Probar cada uno de los botones de transición de estado en la vista de formulario. - - [ ] Confirmar que el `statusbar` se actualiza correctamente. - - [ ] Revisar el chatter para asegurarse de que los cambios de estado se están registrando. - - [ ] Verificar la visibilidad condicional de los botones y el modo de solo lectura de los campos. - - [ ] Filtrar y agrupar por estado en la vista de lista. + - [x] Reiniciar la instancia de Odoo con el módulo actualizado. + - [x] Crear una nueva muestra de laboratorio manualmente. + - [x] Verificar que el estado por defecto sea 'Recolectada'. + - [x] Probar cada uno de los botones de transición de estado en la vista de formulario. + - [x] Confirmar que el `statusbar` se actualiza correctamente. + - [x] Revisar el chatter para asegurarse de que los cambios de estado se están registrando. + - [x] Verificar la visibilidad condicional de los botones y el modo de solo lectura de los campos. + - [x] Filtrar y agrupar por estado en la vista de lista. ---