feat(#9): Implementar flujo de validación y seguridad #56

Merged
luis_portillo merged 2 commits from feature/9-validation-security-flow into dev 2025-07-16 02:05:51 +00:00

Implementación del flujo de validación y seguridad

Cambios realizados

1. Ajuste de permisos base (ir.model.access.csv)

  • Recepcionista: Solo lectura en lims.test y lims.result
  • Técnico: Lectura/escritura pero sin crear/eliminar
  • Administrador: Permisos completos

2. Reglas de registro implementadas (lims_security.xml)

  • Recepcionistas no pueden editar pruebas
  • Técnicos solo pueden editar pruebas no validadas
  • Administradores tienen acceso completo

3. Validación de permisos en transiciones (lims_test.py)

  • action_start_process(): Solo técnicos y administradores
  • action_enter_results(): Solo técnicos y administradores
  • action_validate(): Solo administradores
  • action_cancel(): Técnicos (excepto validadas) y administradores
  • action_draft(): Solo administradores

4. Trazabilidad mejorada

  • stock.lot ahora hereda de mail.thread
  • Todos los cambios de estado se registran en el chatter
  • Mensajes más descriptivos con contexto

5. Validaciones adicionales

  • Control de transiciones de estado válidas
  • Verificación del estado de la muestra
  • Validación de resultados críticos fuera de rango
  • No se puede crear pruebas en estado != draft sin ser admin

6. Vistas actualizadas

  • Botones visibles solo para roles apropiados
  • Campos de resultados editables solo por técnicos/admin

7. Usuarios demo para pruebas

  • Usuario: recepcionista / Contraseña: demo
  • Usuario: tecnico / Contraseña: demo
  • Usuario: administrador / Contraseña: demo

Pruebas realizadas

  • Verificación de permisos por rol
  • Validación de transiciones de estado
  • Trazabilidad en chatter
  • Restricciones visuales en formularios

Closes #9

## Implementación del flujo de validación y seguridad ### Cambios realizados #### 1. Ajuste de permisos base (ir.model.access.csv) - Recepcionista: Solo lectura en lims.test y lims.result - Técnico: Lectura/escritura pero sin crear/eliminar - Administrador: Permisos completos #### 2. Reglas de registro implementadas (lims_security.xml) - Recepcionistas no pueden editar pruebas - Técnicos solo pueden editar pruebas no validadas - Administradores tienen acceso completo #### 3. Validación de permisos en transiciones (lims_test.py) - `action_start_process()`: Solo técnicos y administradores - `action_enter_results()`: Solo técnicos y administradores - `action_validate()`: Solo administradores - `action_cancel()`: Técnicos (excepto validadas) y administradores - `action_draft()`: Solo administradores #### 4. Trazabilidad mejorada - stock.lot ahora hereda de mail.thread - Todos los cambios de estado se registran en el chatter - Mensajes más descriptivos con contexto #### 5. Validaciones adicionales - Control de transiciones de estado válidas - Verificación del estado de la muestra - Validación de resultados críticos fuera de rango - No se puede crear pruebas en estado != draft sin ser admin #### 6. Vistas actualizadas - Botones visibles solo para roles apropiados - Campos de resultados editables solo por técnicos/admin #### 7. Usuarios demo para pruebas - Usuario: `recepcionista` / Contraseña: `demo` - Usuario: `tecnico` / Contraseña: `demo` - Usuario: `administrador` / Contraseña: `demo` ### Pruebas realizadas - Verificación de permisos por rol - Validación de transiciones de estado - Trazabilidad en chatter - Restricciones visuales en formularios Closes #9
luis_portillo added 2 commits 2025-07-16 01:48:06 +00:00
- Ajustar permisos base: recepcionistas solo lectura, técnicos sin eliminar
- Crear reglas de registro para control granular por estado
- Implementar verificación de permisos en todas las transiciones
- Agregar mail.thread a stock.lot para trazabilidad completa
- Validar transiciones de estado y muestras asociadas
- Actualizar vistas con restricciones según grupos de usuario
- Mejorar mensajes del chatter con más contexto

Co-Authored-By: Claude <noreply@anthropic.com>
- Crear usuario 'recepcionista' con rol Recepcionista
- Crear usuario 'tecnico' con rol Técnico
- Crear usuario 'administrador' con rol Administrador
- Todos con contraseña 'demo' para facilitar pruebas
- Incluir archivo en datos demo del módulo

Co-Authored-By: Claude <noreply@anthropic.com>
luis_portillo merged commit 0c210bef9e into dev 2025-07-16 02:05:51 +00:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Grupo-Consiti/clinical_laboratory#56
No description provided.