bug: Validar y corregir permisos de acceso para todos los grupos del laboratorio #59

Open
opened 2025-07-16 05:14:25 +00:00 by luis_portillo · 0 comments

Descripción del Bug

Se han detectado errores de permisos de acceso en el sistema LIMS que impiden a los usuarios realizar sus funciones asignadas. El caso más reciente fue que la recepcionista no podía acceder a las líneas de pedido de venta (sale.order.line).

Objetivo

Revisar y corregir todos los permisos de acceso para los grupos del laboratorio, asegurando que cada rol pueda realizar sus funciones sin restricciones innecesarias.

Grupos del Sistema y Permisos Esperados

1. Laboratorio / Recepcionista (group_lims_receptionist)

Función: Registro de pacientes, creación de órdenes, gestión de muestras
Usuario demo: recepcionista / contraseña: demo

Permisos requeridos:

  • res.partner (Pacientes/Doctores): Lectura, Escritura, Creación
  • sale.order (Órdenes de Lab): Lectura, Escritura, Creación
  • sale.order.line: Lectura, Escritura, Creación
  • stock.lot (Muestras): Lectura, Escritura, Creación
  • product.template (Análisis/Muestras): Solo Lectura
  • lims.test: Solo Lectura
  • lims.result: Solo Lectura
  • lims.rejection.reason: Solo Lectura
  • lims.sample.rejection.wizard: Lectura, Escritura, Creación

2. Laboratorio / Técnico (group_lims_technician)

Función: Procesamiento de muestras, ingreso de resultados, validación
Usuario demo: tecnico / contraseña: demo

Permisos requeridos:

  • res.partner: Solo Lectura
  • sale.order: Solo Lectura
  • sale.order.line: Solo Lectura
  • stock.lot: Lectura, Escritura (cambio de estados)
  • product.template: Solo Lectura
  • lims.test: Lectura, Escritura, Creación
  • lims.result: Lectura, Escritura, Creación
  • lims.analysis.parameter: Solo Lectura
  • lims.parameter.range: Solo Lectura
  • lims.rejection.reason: Solo Lectura
  • lims.sample.rejection.wizard: Lectura, Escritura, Creación

3. Laboratorio / Administrador (group_lims_admin)

Función: Gestión completa del laboratorio, configuración, reportes
Usuario demo: administrador / contraseña: demo

Permisos requeridos:

  • Todos los modelos del módulo LIMS: Lectura, Escritura, Creación, Eliminación
  • Incluye: res.partner, sale.order, sale.order.line, stock.lot, product.template
  • lims.test, lims.result, lims.analysis.parameter, lims.parameter.range
  • lims.rejection.reason, lims.sample.rejection.wizard
  • product.template.parameter, res.config.settings (LIMS)

Modelos a Verificar

Modelos de Odoo Base:

  • res.partner
  • res.users
  • sale.order
  • sale.order.line
  • stock.lot
  • product.template
  • product.product
  • ir.attachment (para reportes PDF)

Modelos LIMS:

  • lims.test
  • lims.result
  • lims.analysis.parameter
  • lims.parameter.range
  • lims.rejection.reason
  • lims.sample.rejection.wizard
  • product.template.parameter

Casos de Prueba

1. Recepcionista (usuario: recepcionista)

  • Crear nuevo paciente
  • Crear nueva orden de laboratorio
  • Agregar análisis a la orden
  • Generar muestras
  • Ver lista de muestras
  • Imprimir etiquetas
  • NO debe poder: modificar resultados, validar pruebas

2. Técnico (usuario: tecnico)

  • Ver órdenes y muestras
  • Cambiar estado de muestras
  • Crear pruebas (lims.test)
  • Ingresar resultados
  • Rechazar muestras
  • NO debe poder: crear órdenes, modificar pacientes

3. Administrador (usuario: administrador)

  • Todas las funciones de recepcionista
  • Todas las funciones de técnico
  • Configurar parámetros y rangos
  • Configurar motivos de rechazo
  • Eliminar registros
  • Acceder a configuración del sistema

Archivos a Revisar

  • lims_management/security/ir.model.access.csv
  • lims_management/security/lims_security.xml
  • Vistas XML que contengan atributos groups=""

Criterios de Aceptación

  • Todos los usuarios pueden realizar sus funciones sin errores de permisos
  • Los permisos siguen el principio de menor privilegio
  • No hay permisos excesivos para ningún grupo
  • Los wizards y acciones funcionan correctamente para cada grupo
  • Los reportes son accesibles según el rol

Notas Adicionales

  • Verificar permisos en cascada (ej: si se puede ver sale.order, también se debe poder ver sale.order.line)
  • Considerar permisos para modelos relacionados (ej: ir.attachment para PDFs)
  • Validar que los botones de acción respeten los grupos asignados
## Descripción del Bug Se han detectado errores de permisos de acceso en el sistema LIMS que impiden a los usuarios realizar sus funciones asignadas. El caso más reciente fue que la recepcionista no podía acceder a las líneas de pedido de venta (sale.order.line). ## Objetivo Revisar y corregir todos los permisos de acceso para los grupos del laboratorio, asegurando que cada rol pueda realizar sus funciones sin restricciones innecesarias. ## Grupos del Sistema y Permisos Esperados ### 1. Laboratorio / Recepcionista (group_lims_receptionist) **Función**: Registro de pacientes, creación de órdenes, gestión de muestras **Usuario demo**: recepcionista / contraseña: demo **Permisos requeridos**: - res.partner (Pacientes/Doctores): Lectura, Escritura, Creación - sale.order (Órdenes de Lab): Lectura, Escritura, Creación - sale.order.line: Lectura, Escritura, Creación - stock.lot (Muestras): Lectura, Escritura, Creación - product.template (Análisis/Muestras): Solo Lectura - lims.test: Solo Lectura - lims.result: Solo Lectura - lims.rejection.reason: Solo Lectura - lims.sample.rejection.wizard: Lectura, Escritura, Creación ### 2. Laboratorio / Técnico (group_lims_technician) **Función**: Procesamiento de muestras, ingreso de resultados, validación **Usuario demo**: tecnico / contraseña: demo **Permisos requeridos**: - res.partner: Solo Lectura - sale.order: Solo Lectura - sale.order.line: Solo Lectura - stock.lot: Lectura, Escritura (cambio de estados) - product.template: Solo Lectura - lims.test: Lectura, Escritura, Creación - lims.result: Lectura, Escritura, Creación - lims.analysis.parameter: Solo Lectura - lims.parameter.range: Solo Lectura - lims.rejection.reason: Solo Lectura - lims.sample.rejection.wizard: Lectura, Escritura, Creación ### 3. Laboratorio / Administrador (group_lims_admin) **Función**: Gestión completa del laboratorio, configuración, reportes **Usuario demo**: administrador / contraseña: demo **Permisos requeridos**: - Todos los modelos del módulo LIMS: Lectura, Escritura, Creación, Eliminación - Incluye: res.partner, sale.order, sale.order.line, stock.lot, product.template - lims.test, lims.result, lims.analysis.parameter, lims.parameter.range - lims.rejection.reason, lims.sample.rejection.wizard - product.template.parameter, res.config.settings (LIMS) ## Modelos a Verificar ### Modelos de Odoo Base: - [ ] res.partner - [ ] res.users - [ ] sale.order - [ ] sale.order.line - [ ] stock.lot - [ ] product.template - [ ] product.product - [ ] ir.attachment (para reportes PDF) ### Modelos LIMS: - [ ] lims.test - [ ] lims.result - [ ] lims.analysis.parameter - [ ] lims.parameter.range - [ ] lims.rejection.reason - [ ] lims.sample.rejection.wizard - [ ] product.template.parameter ## Casos de Prueba ### 1. Recepcionista (usuario: recepcionista) - [ ] Crear nuevo paciente - [ ] Crear nueva orden de laboratorio - [ ] Agregar análisis a la orden - [ ] Generar muestras - [ ] Ver lista de muestras - [ ] Imprimir etiquetas - [ ] NO debe poder: modificar resultados, validar pruebas ### 2. Técnico (usuario: tecnico) - [ ] Ver órdenes y muestras - [ ] Cambiar estado de muestras - [ ] Crear pruebas (lims.test) - [ ] Ingresar resultados - [ ] Rechazar muestras - [ ] NO debe poder: crear órdenes, modificar pacientes ### 3. Administrador (usuario: administrador) - [ ] Todas las funciones de recepcionista - [ ] Todas las funciones de técnico - [ ] Configurar parámetros y rangos - [ ] Configurar motivos de rechazo - [ ] Eliminar registros - [ ] Acceder a configuración del sistema ## Archivos a Revisar - lims_management/security/ir.model.access.csv - lims_management/security/lims_security.xml - Vistas XML que contengan atributos groups="" ## Criterios de Aceptación - [ ] Todos los usuarios pueden realizar sus funciones sin errores de permisos - [ ] Los permisos siguen el principio de menor privilegio - [ ] No hay permisos excesivos para ningún grupo - [ ] Los wizards y acciones funcionan correctamente para cada grupo - [ ] Los reportes son accesibles según el rol ## Notas Adicionales - Verificar permisos en cascada (ej: si se puede ver sale.order, también se debe poder ver sale.order.line) - Considerar permisos para modelos relacionados (ej: ir.attachment para PDFs) - Validar que los botones de acción respeten los grupos asignados
Sign in to join this conversation.
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#59
No description provided.