From b0b4f7b3ad1c09d18e6fbb840e944fa65199394d Mon Sep 17 00:00:00 2001 From: Karnav Sojitra Date: Mon, 7 Aug 2023 19:09:27 +0530 Subject: [PATCH] [FIX] base, tools: raise logger warning while invalid attribute added to a field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This error occurs when a user tries to add an Invalid attribute (ex-help, searchable) to an element field. Steps to produce: - Install Studio. - Open any tree view. - Activate studio > Go to views > Click on XML. - Add an attribute help inside any field. So, this commit handles the case by changing the logger error to logger warning. sentry-4377111502 closes odoo/odoo#131164 X-original-commit: 10f45eacdfd4c6fe5d86659276d145a563f60c6c Signed-off-by: Fabien Pinckaers (fp) Signed-off-by: Rémy Voet (ryv) --- odoo/addons/base/models/ir_ui_view.py | 3 --- odoo/tools/view_validation.py | 7 ++----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py index 94a600d3d6a..7c95fbe8007 100644 --- a/odoo/addons/base/models/ir_ui_view.py +++ b/odoo/addons/base/models/ir_ui_view.py @@ -402,9 +402,6 @@ actual arch. 'Invalid view %(name)s definition in %(file)s', name=view_name, file=view.arch_fs )) - if check == "Warning": - view_name = f'{view.name} ({view.xml_id})' if view.xml_id else view.name - _logger.warning('Invalid view %s definition in %s \n%s', view_name, view.arch_fs, view.arch) except ValueError as e: if hasattr(e, 'context'): lines = etree.tostring(combined_arch, encoding='unicode').splitlines(keepends=True) diff --git a/odoo/tools/view_validation.py b/odoo/tools/view_validation.py index 2bb18f4c994..15e2d8fa200 100644 --- a/odoo/tools/view_validation.py +++ b/odoo/tools/view_validation.py @@ -280,11 +280,8 @@ def valid_view(arch, **kwargs): for pred in _validators[arch.tag]: check = pred(arch, **kwargs) if not check: - _logger.error("Invalid XML when check %s: %s", arch.tag, pred.__doc__) + _logger.warning("Invalid XML: %s", pred.__doc__) return False - if check == "Warning": - _logger.warning("Invalid XML when check %s: %s", arch.tag, pred.__doc__) - return "Warning" return True @@ -318,7 +315,7 @@ def schema_valid(arch, **kwargs): if validator and not validator.validate(arch): result = True for error in validator.error_log: - _logger.error(tools.ustr(error)) + _logger.warning(tools.ustr(error)) result = False return result return True