diff --git a/lims_management/models/lims_result.py b/lims_management/models/lims_result.py
index 28b8ba5..46878bd 100644
--- a/lims_management/models/lims_result.py
+++ b/lims_management/models/lims_result.py
@@ -92,9 +92,9 @@ class LimsResult(models.Model):
string='Valor de Texto'
)
- value_selection = fields.Selection(
- string='Valor de Selección',
- selection='_get_selection_options'
+ # Keep as Char but add domain validation
+ value_selection = fields.Char(
+ string='Valor de Selección'
)
# Campo para mostrar las opciones disponibles
@@ -283,6 +283,14 @@ class LimsResult(models.Model):
raise ValidationError(
_('Para parámetros de selección solo se debe elegir una opción.')
)
+ # Validar que el valor seleccionado sea válido
+ if has_value and record.parameter_id:
+ valid_options = record.parameter_id.get_selection_list()
+ if valid_options and record.value_selection not in valid_options:
+ raise ValidationError(
+ _('El valor "%s" no es una opción válida. Opciones disponibles: %s') %
+ (record.value_selection, ', '.join(valid_options))
+ )
elif value_type == 'boolean':
has_value = True # Boolean siempre tiene valor (True o False)
if (record.value_numeric not in [False, 0.0]) or record.value_text or record.value_selection:
diff --git a/lims_management/views/lims_test_views.xml b/lims_management/views/lims_test_views.xml
index d0729bd..1986aea 100644
--- a/lims_management/views/lims_test_views.xml
+++ b/lims_management/views/lims_test_views.xml
@@ -90,7 +90,14 @@
class="oe_edit_only"/>
+ placeholder="Escriba para buscar..."
+ class="oe_edit_only"/>
+