From c673230b8f16d7724fca82fa92a2d977f5830c0f Mon Sep 17 00:00:00 2001 From: Luis Ernesto Portillo Zaldivar Date: Wed, 16 Jul 2025 19:31:48 -0600 Subject: [PATCH] =?UTF-8?q?fix(#67):=20Implementar=20widget=20selection=20?= =?UTF-8?q?din=C3=A1mico=20con=20opciones=20del=20par=C3=A1metro?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Cambiar campo value_selection de Char a Selection con opciones dinámicas - Agregar método _get_selection_options() que obtiene las opciones del parámetro - Remover campo selection_options_display de la vista ya que el widget selection muestra las opciones - El widget selection ahora muestra solo las opciones válidas definidas en el parámetro --- documents/logs/Screenshot_8.png | Bin 0 -> 16369 bytes documents/logs/Screenshot_9.png | Bin 0 -> 15291 bytes lims_management/models/lims_result.py | 13 +++++++++++-- lims_management/views/lims_test_views.xml | 10 +--------- 4 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 documents/logs/Screenshot_8.png create mode 100644 documents/logs/Screenshot_9.png diff --git a/documents/logs/Screenshot_8.png b/documents/logs/Screenshot_8.png new file mode 100644 index 0000000000000000000000000000000000000000..536965927aec064c82d33e7f0373f957de066dc4 GIT binary patch literal 16369 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 literal 0 HcmV?d00001 diff --git a/documents/logs/Screenshot_9.png b/documents/logs/Screenshot_9.png new file mode 100644 index 0000000000000000000000000000000000000000..dae2a128bb9ded79ca48776f4c89c4970c268925 GIT binary patch literal 15291 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 E4OUT4R{#J2 literal 0 HcmV?d00001 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"/>