
- Agregar modelo de configuración del laboratorio (lims.config.settings) - Implementar generación automática de re-muestras al rechazar - Añadir campos de trazabilidad: parent_sample_id, child_sample_ids - Crear vista de configuración accesible desde menú admin - Mejorar vistas de stock.lot con información de re-muestreo - Incluir notificaciones automáticas a recepcionistas - Configurar límite máximo de re-muestreos por muestra 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
44 lines
1.7 KiB
Python
44 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import models, fields, api
|
|
|
|
class LimsConfig(models.TransientModel):
|
|
_name = 'lims.config.settings'
|
|
_inherit = 'res.config.settings'
|
|
_description = 'Configuración del Laboratorio'
|
|
|
|
auto_resample_on_rejection = fields.Boolean(
|
|
string='Re-muestreo Automático al Rechazar',
|
|
help='Si está activo, se generará automáticamente una nueva muestra cuando se rechace una existente',
|
|
config_parameter='lims_management.auto_resample_on_rejection',
|
|
default=True
|
|
)
|
|
|
|
resample_state = fields.Selection([
|
|
('pending_collection', 'Pendiente de Recolección'),
|
|
('collected', 'Recolectada'),
|
|
], string='Estado Inicial para Re-muestras',
|
|
help='Estado en el que se crearán las nuevas muestras generadas por re-muestreo',
|
|
config_parameter='lims_management.resample_state',
|
|
default='pending_collection'
|
|
)
|
|
|
|
auto_notify_resample = fields.Boolean(
|
|
string='Notificar Re-muestreo Automático',
|
|
help='Enviar notificación al recepcionista cuando se genera una nueva muestra por re-muestreo',
|
|
config_parameter='lims_management.auto_notify_resample',
|
|
default=True
|
|
)
|
|
|
|
resample_prefix = fields.Char(
|
|
string='Prefijo para Re-muestras',
|
|
help='Prefijo que se añadirá al código de las muestras generadas por re-muestreo (ej: RE-)',
|
|
config_parameter='lims_management.resample_prefix',
|
|
default='RE-'
|
|
)
|
|
|
|
max_resample_attempts = fields.Integer(
|
|
string='Máximo de Re-muestreos',
|
|
help='Número máximo de veces que se puede re-muestrear una muestra (0 = sin límite)',
|
|
config_parameter='lims_management.max_resample_attempts',
|
|
default=3
|
|
) |