From 90756fc1251401f911f1da3dd933088714d64e6f Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Fri, 5 Sep 2025 15:40:16 +0200 Subject: [PATCH] [IMP] util.remove_field When removing a related field, update its usage instead of replacing the domains with a TRUE_LEAF. --- src/util/fields.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/util/fields.py b/src/util/fields.py index 99306dced..ad446959e 100644 --- a/src/util/fields.py +++ b/src/util/fields.py @@ -223,8 +223,17 @@ def adapter(leaf, is_or, negated): return [FALSE_LEAF] return [TRUE_LEAF] - # clean domains - adapt_domains(cr, model, fieldname, "ignored", adapter=adapter, skip_inherit=skip_inherit, force_adapt=True) + related = None + if column_exists(cr, "ir_model_fields", "related"): + cr.execute("SELECT related FROM ir_model_fields WHERE model=%s AND name=%s", [model, fieldname]) + if cr.rowcount: + related = cr.fetchone()[0] + + if related: + update_field_usage(cr, model, fieldname, related, skip_inherit=skip_inherit) + else: + # clean domains + adapt_domains(cr, model, fieldname, "ignored", adapter=adapter, skip_inherit=skip_inherit, force_adapt=True) if table_exists(cr, "ir_server_object_lines"): cr.execute(