From 6eba4f3ef3fc5bc2d721371e77f94d3cd2158c91 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 27 Jul 2010 17:00:51 +0200 Subject: [PATCH] [IMP] display all relaxng validation error messages in view bzr revid: xmo@openerp.com-20100727150051-kx4l8uroxkypefpp --- bin/addons/base/ir/ir_ui_view.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/ir/ir_ui_view.py b/bin/addons/base/ir/ir_ui_view.py index d990e94a84b..3081364fa73 100644 --- a/bin/addons/base/ir/ir_ui_view.py +++ b/bin/addons/base/ir/ir_ui_view.py @@ -26,17 +26,19 @@ from tools.safe_eval import safe_eval as eval import tools import netsvc import os +import logging def _check_xml(self, cr, uid, ids, context={}): + logger = logging.getLogger('init') for view in self.browse(cr, uid, ids, context): eview = etree.fromstring(view.arch.encode('utf8')) frng = tools.file_open(os.path.join('base','rng','view.rng')) relaxng_doc = etree.parse(frng) relaxng = etree.RelaxNG(relaxng_doc) if not relaxng.validate(eview): - logger = netsvc.Logger() - logger.notifyChannel('init', netsvc.LOG_ERROR, 'The view does not fit the required schema !') - logger.notifyChannel('init', netsvc.LOG_ERROR, tools.ustr(relaxng.error_log.last_error)) + for error in relaxng.error_log: + logger.error(tools.ustr(error)) + raise Error("Fuck toi") return False return True