[IMP] currency position for report

bzr revid: dhara_openerp-20110913043809-2gq0chqs4m0yq1nq
This commit is contained in:
Dhara (OpenERP) 2011-09-12 21:38:09 -07:00
parent 1044d63047
commit b9c10b045c
3 changed files with 9 additions and 5 deletions

View File

@ -62,12 +62,13 @@ 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_on_report': fields.selection([('after','After Amount'),('before','Before Amount')], 'Symbol position in reports', help="Determines where the currency symbol is printed within reports, after or before the amount.")
}
_defaults = {
'active': lambda *a: 1,
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'res.currency', context=c)
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'res.currency', context=c),
'position_on_report' : 'after',
}
_order = "name"

View File

@ -42,6 +42,7 @@
<separator string="Miscelleanous" colspan="2"/>
<field name="base"/>
<field name="active" select="1"/>
<field name="position_on_report" />
</group>
<field colspan="4" mode="tree,form" name="rate_ids" nolabel="1" attrs="{'readonly':[('base','=',True)]}">

View File

@ -264,7 +264,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)
@ -302,7 +302,9 @@ 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)
res = currency_obj and currency_obj.position_on_report and (currency_obj.position_on_report == 'after' and '%s %s'%(res,currency_obj.symbol) or '%s %s'%(currency_obj.symbol, res) ) or res
return res
def repeatIn(self, lst, name,nodes_parent=False):
ret_lst = []