[FIX] models: log field names in api.onchange warning
Without this, the warning isn't very actionable. closes odoo/odoo#75858 X-original-commit: afe7c9895914125fb31dbfde15903fa41e000948 Signed-off-by: Olivier Dony (odo) <odo@openerp.com> Signed-off-by: Wolfgang Taferner <wtaferner@users.noreply.github.com>
This commit is contained in:
committed by
Olivier Dony
parent
babf021812
commit
018d4856db
+7
-1
@@ -802,10 +802,16 @@ class BaseModel(metaclass=MetaModel):
|
||||
cls = type(self)
|
||||
methods = defaultdict(list)
|
||||
for attr, func in getmembers(cls, is_onchange):
|
||||
missing = []
|
||||
for name in func._onchange:
|
||||
if name not in cls._fields:
|
||||
_logger.warning("@onchange%r parameters must be field names", func._onchange)
|
||||
missing.append(name)
|
||||
methods[name].append(func)
|
||||
if missing:
|
||||
_logger.warning(
|
||||
"@api.onchange%r parameters must be field names -> not valid: %s",
|
||||
func._onchange, missing
|
||||
)
|
||||
|
||||
# add onchange methods to implement "change_default" on fields
|
||||
def onchange_default(field, self):
|
||||
|
||||
Reference in New Issue
Block a user