From 4e30f20d92862061507d5c29bde37811e7e8f16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 10 Mar 2025 23:26:14 +0100 Subject: [PATCH] Convert list/tuple value to list of IDs only if it contains records The Modify Header set the start value from the sale or purchase values but when it is a list or a tuple, it should also ensure it contains records before converting to a list of ids. Closes #13915 (grafted from 35fc6e3d271b4eeb7ef123f58085836fdab77228) --HG-- branch : 6.0 --- modules/purchase/purchase.py | 3 ++- modules/sale/sale.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py index 4d862dff74..81f09b9bee 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -2040,7 +2040,8 @@ class ModifyHeader(Wizard): value = str(value) else: value = value.id - elif isinstance(value, (list, tuple)): + elif (value and isinstance(value, (list, tuple)) + and isinstance(value[0], Model)): value = [r.id for r in value] defaults[fieldname] = value diff --git a/modules/sale/sale.py b/modules/sale/sale.py index 24438e34b4..21d3fa01ea 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -2032,7 +2032,8 @@ class ModifyHeader(Wizard): value = str(value) else: value = value.id - elif isinstance(value, (list, tuple)): + elif (value and isinstance(value, (list, tuple)) + and isinstance(value[0], Model)): value = [r.id for r in value] defaults[fieldname] = value