diff --git a/documents/logs/Screenshot_8.png b/documents/logs/Screenshot_8.png
new file mode 100644
index 0000000..5369659
Binary files /dev/null and b/documents/logs/Screenshot_8.png differ
diff --git a/documents/logs/Screenshot_9.png b/documents/logs/Screenshot_9.png
new file mode 100644
index 0000000..dae2a12
Binary files /dev/null and b/documents/logs/Screenshot_9.png differ
diff --git a/lims_management/models/lims_result.py b/lims_management/models/lims_result.py
index 94ec921..28b8ba5 100644
--- a/lims_management/models/lims_result.py
+++ b/lims_management/models/lims_result.py
@@ -92,8 +92,9 @@ class LimsResult(models.Model):
string='Valor de Texto'
)
- value_selection = fields.Char(
- string='Valor de Selección'
+ value_selection = fields.Selection(
+ string='Valor de Selección',
+ selection='_get_selection_options'
)
# Campo para mostrar las opciones disponibles
@@ -310,6 +311,14 @@ class LimsResult(models.Model):
# Esto se usará en las vistas para mostrar las opciones dinámicamente
pass
+ def _get_selection_options(self):
+ """Retorna las opciones de selección basadas en el parámetro."""
+ options = []
+ if self.parameter_id and self.parameter_value_type == 'selection':
+ param_options = self.parameter_id.get_selection_list()
+ options = [(opt, opt) for opt in param_options]
+ return options or [('', 'Sin opciones')]
+
@api.depends('parameter_id', 'parameter_id.selection_values')
def _compute_selection_options_display(self):
"""Calcula las opciones disponibles para mostrar al usuario."""
diff --git a/lims_management/views/lims_test_views.xml b/lims_management/views/lims_test_views.xml
index 455232b..d0729bd 100644
--- a/lims_management/views/lims_test_views.xml
+++ b/lims_management/views/lims_test_views.xml
@@ -90,15 +90,7 @@
class="oe_edit_only"/>
-
+ widget="selection"/>