From 6d4e1cc73e4b3754f3c14edbd3307525edd2dd8b Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Fri, 3 Oct 2014 11:20:19 +0200 Subject: [PATCH] [FIX] ir_translation: remove control characters from translations This is possible that control characters (such as line returns) are inserted wrongly in translations These should not influence on the web interface --- openerp/addons/base/ir/ir_translation.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/openerp/addons/base/ir/ir_translation.py b/openerp/addons/base/ir/ir_translation.py index cdbec59c65c..f8eecc70856 100644 --- a/openerp/addons/base/ir/ir_translation.py +++ b/openerp/addons/base/ir/ir_translation.py @@ -20,6 +20,7 @@ ############################################################################## import logging +import unicodedata from openerp import tools import openerp.modules @@ -335,10 +336,11 @@ class ir_translation(osv.osv): AND name=%s""", (lang or '', types, tools.ustr(name))) res = cr.fetchone() - trad = res and res[0] or u'' + trad = res and tools.ustr(res[0]) or u'' if source and not trad: return tools.ustr(source) - return trad + # Remove control characters + return filter(lambda c: unicodedata.category(c) != 'Cc', trad) def create(self, cr, uid, vals, context=None): if context is None: