From 34f3b0aa144202dc7aa5cb1ac6d470e2440c2955 Mon Sep 17 00:00:00 2001 From: Luis Ernesto Portillo Zaldivar Date: Thu, 17 Jul 2025 02:19:19 -0600 Subject: [PATCH] =?UTF-8?q?fix(#67):=20Incluir=20value=5Fselection=20en=20?= =?UTF-8?q?validaci=C3=B3n=20de=20resultados=20ingresados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - La validación de action_enter_results no estaba verificando el campo value_selection - Esto causaba falso positivo de 'parámetros sin resultados ingresados' - Agregar value_selection a la condición del filtro --- documents/logs/Screenshot_8.png | Bin 0 -> 23925 bytes lims_management/models/lims_test.py | 2 +- test/debug_selection_autocomplete.py | 68 +++++++++++++++++++++++++++ 3 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 documents/logs/Screenshot_8.png create mode 100644 test/debug_selection_autocomplete.py diff --git a/documents/logs/Screenshot_8.png b/documents/logs/Screenshot_8.png new file mode 100644 index 0000000000000000000000000000000000000000..9c6085ff894c48440b0faa0bf1cc887f076f6e7f GIT binary patch literal 23925 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 literal 0 HcmV?d00001 diff --git a/lims_management/models/lims_test.py b/lims_management/models/lims_test.py index 32b503d..3a9f3c9 100644 --- a/lims_management/models/lims_test.py +++ b/lims_management/models/lims_test.py @@ -284,7 +284,7 @@ class LimsTest(models.Model): # Verificar que todos los resultados tengan valores ingresados empty_results = self.result_ids.filtered( - lambda r: not r.value_text and not r.value_numeric and not r.value_boolean and r.parameter_id.value_type != 'boolean' + lambda r: not r.value_text and not r.value_numeric and not r.value_selection and not r.value_boolean and r.parameter_id.value_type != 'boolean' ) if empty_results: params = ', '.join(empty_results.mapped('parameter_id.name')) diff --git a/test/debug_selection_autocomplete.py b/test/debug_selection_autocomplete.py new file mode 100644 index 0000000..9b9681f --- /dev/null +++ b/test/debug_selection_autocomplete.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Script para debuggear el autocompletado de selection +""" + +import odoo +import logging + +_logger = logging.getLogger(__name__) + + +def debug_selection_autocomplete(env): + """Debug del autocompletado""" + + print("=" * 80) + print("DEBUG DE AUTOCOMPLETADO DE SELECTION") + print("=" * 80) + + # Buscar un resultado con tipo selection + result = env['lims.result'].search([ + ('parameter_value_type', '=', 'selection'), + ('test_id.state', '=', 'in_process') + ], limit=1) + + if result: + print(f"\nResultado encontrado:") + print(f" - ID: {result.id}") + print(f" - Parámetro: {result.parameter_id.name}") + print(f" - Valor actual: '{result.value_selection}'") + print(f" - Valores posibles: {result.parameter_id.selection_values}") + + # Probar el autocompletado + test_values = ['Negative', 'negative', 'NEG', 'neg', 'N', 'n', 'Positivo', 'P'] + + print("\nProbando autocompletado:") + for test_val in test_values: + autocompleted = result._validate_and_autocomplete_selection(test_val) + print(f" '{test_val}' -> '{autocompleted}'") + else: + print("No se encontraron resultados de tipo selection") + + +if __name__ == '__main__': + # Configuración + db_name = 'lims_demo' + + # Conectar a Odoo + odoo.tools.config.parse_config(['--database', db_name]) + + # Obtener el registro de la base de datos + registry = odoo.registry(db_name) + + # Crear cursor y environment + with registry.cursor() as cr: + env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {}) + + try: + # Debug + debug_selection_autocomplete(env) + + # No guardar cambios + cr.rollback() + + except Exception as e: + cr.rollback() + print(f"\n❌ Error: {str(e)}") + _logger.error(f"Error: {str(e)}", exc_info=True) \ No newline at end of file