From be3de6131060ff3986decdeeff1124311c6c6e78 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 : 7.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 9eddc8430d..1e6ca9a29c 100644 --- a/modules/purchase/purchase.py +++ b/modules/purchase/purchase.py @@ -2223,7 +2223,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] values[fieldname] = value diff --git a/modules/sale/sale.py b/modules/sale/sale.py index 6df33a7e93..e030330b11 100644 --- a/modules/sale/sale.py +++ b/modules/sale/sale.py @@ -2294,7 +2294,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] values[fieldname] = value