diff --git a/openerp/addons/base/res/res_currency.py b/openerp/addons/base/res/res_currency.py index 3f3577c0d6b..bb6a51a6bcb 100644 --- a/openerp/addons/base/res/res_currency.py +++ b/openerp/addons/base/res/res_currency.py @@ -62,11 +62,12 @@ class res_currency(osv.osv): 'active': fields.boolean('Active'), 'company_id':fields.many2one('res.company', 'Company'), 'date': fields.date('Date'), - 'base': fields.boolean('Base') - + 'base': fields.boolean('Base'), + 'position': fields.selection([('after','After Amount'),('before','Before Amount')], 'Symbol position', help="Determines where the currency symbol should be placed after or before the amount.") } _defaults = { 'active': lambda *a: 1, + 'position' : 'after', } _sql_constraints = [ # this constraint does not cover all cases due to SQL NULL handling for company_id, diff --git a/openerp/addons/base/res/res_currency_view.xml b/openerp/addons/base/res/res_currency_view.xml index bf54887da0b..7dab4c051f4 100644 --- a/openerp/addons/base/res/res_currency_view.xml +++ b/openerp/addons/base/res/res_currency_view.xml @@ -27,6 +27,7 @@ + @@ -37,23 +38,30 @@ form
- + - - - - - - + + + + + + - - - - + + + + + + + + + + + diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py index 7402104f9d0..98de86b01a8 100644 --- a/openerp/report/report_sxw.py +++ b/openerp/report/report_sxw.py @@ -267,7 +267,7 @@ class rml_parse(object): d = obj._field.digits[1] or DEFAULT_DIGITS return d - def formatLang(self, value, digits=None, date=False, date_time=False, grouping=True, monetary=False, dp=False): + def formatLang(self, value, digits=None, date=False, date_time=False, grouping=True, monetary=False, dp=False, currency_obj=False): """ Assuming 'Account' decimal.precision=3: formatLang(value) -> digits=2 (default) @@ -305,7 +305,13 @@ class rml_parse(object): date = datetime(*value.timetuple()[:6]) return date.strftime(date_format) - return self.lang_dict['lang_obj'].format('%.' + str(digits) + 'f', value, grouping=grouping, monetary=monetary) + 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) + elif currency_obj and currency_obj.position == 'before': + res='%s %s'%(currency_obj.symbol, res) + return res def repeatIn(self, lst, name,nodes_parent=False): ret_lst = []