diff --git a/openerp/addons/base/ir/ir_qweb.py b/openerp/addons/base/ir/ir_qweb.py index ae47d662dd1..f74170de46c 100644 --- a/openerp/addons/base/ir/ir_qweb.py +++ b/openerp/addons/base/ir/ir_qweb.py @@ -845,9 +845,9 @@ class MonetaryConverter(osv.AbstractModel): pre = post = u'' if display_currency.position == 'before': - pre = u'{symbol} ' + pre = u'{symbol}\N{NO-BREAK SPACE}' else: - post = u' {symbol}' + post = u'\N{NO-BREAK SPACE}{symbol}' return HTMLSafe(u'{pre}{0}{post}'.format( formatted_amount, @@ -1006,9 +1006,9 @@ class QwebWidgetMonetary(osv.AbstractModel): ) pre = post = u'' if display.position == 'before': - pre = u'{symbol} ' + pre = u'{symbol}\N{NO-BREAK SPACE}' else: - post = u' {symbol}' + post = u'\N{NO-BREAK SPACE}{symbol}' return u'{pre}{0}{post}'.format( formatted_amount, pre=pre, post=post diff --git a/openerp/addons/test_converter/tests/test_html.py b/openerp/addons/test_converter/tests/test_html.py index aef7badfe3a..2f50602c115 100644 --- a/openerp/addons/test_converter/tests/test_html.py +++ b/openerp/addons/test_converter/tests/test_html.py @@ -130,10 +130,10 @@ class TestCurrencyExport(TestExport): 'data-oe-field="value" data-oe-type="monetary" ' 'data-oe-expression="obj.value">' '0.12' - ' {symbol}'.format( + u'\N{NO-BREAK SPACE}{symbol}'.format( obj=obj, symbol=currency.symbol.encode('utf-8') - ),) + ).encode('utf-8'),) def test_currency_pre(self): currency = self.create( @@ -147,12 +147,12 @@ class TestCurrencyExport(TestExport): '' - '{symbol} ' + u'{symbol}\N{NO-BREAK SPACE}' '0.12' ''.format( obj=obj, symbol=currency.symbol.encode('utf-8') - ),) + ).encode('utf-8'),) def test_currency_precision(self): """ Precision should be the currency's, not the float field's @@ -168,10 +168,10 @@ class TestCurrencyExport(TestExport): 'data-oe-field="value" data-oe-type="monetary" ' 'data-oe-expression="obj.value">' '0.12' - ' {symbol}'.format( + u'\N{NO-BREAK SPACE}{symbol}'.format( obj=obj, symbol=currency.symbol.encode('utf-8') - ),) + ).encode('utf-8'),) class TestTextExport(TestBasicExport): def test_text(self): diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py index 3abd1cb85f9..8f7de6d5cce 100644 --- a/openerp/report/report_sxw.py +++ b/openerp/report/report_sxw.py @@ -246,9 +246,9 @@ class rml_parse(object): res = self.lang_dict['lang_obj'].format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary) if currency_obj: if currency_obj.position == 'after': - res='%s %s'%(res,currency_obj.symbol) + res = u'%s\N{NO-BREAK SPACE}%s' % (res, currency_obj.symbol) elif currency_obj and currency_obj.position == 'before': - res='%s %s'%(currency_obj.symbol, res) + res = u'%s\N{NO-BREAK SPACE}%s' % (currency_obj.symbol, res) return res def display_address(self, address_record, without_company=False):