dsh (Open ERP) has proposed merging 
lp:~openerp-dev/openobject-server/trunk-report_currency_position into 
lp:openobject-server.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-report_currency_position/+merge/75120

Add option on currency object to specify whether the currency symbol is shown 
before the amount or after amount while printing reports.
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-report_currency_position/+merge/75120
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/trunk-report_currency_position.
=== modified file 'openerp/addons/base/res/res_currency.py'
--- openerp/addons/base/res/res_currency.py	2011-08-30 14:09:36 +0000
+++ openerp/addons/base/res/res_currency.py	2011-09-13 05:58:25 +0000
@@ -62,12 +62,13 @@
         '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"
 

=== modified file 'openerp/addons/base/res/res_currency_view.xml'
--- openerp/addons/base/res/res_currency_view.xml	2011-08-30 14:09:36 +0000
+++ openerp/addons/base/res/res_currency_view.xml	2011-09-13 05:58:25 +0000
@@ -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)]}">

=== modified file 'openerp/report/report_sxw.py'
--- openerp/report/report_sxw.py	2011-07-19 11:36:30 +0000
+++ openerp/report/report_sxw.py	2011-09-13 05:58:25 +0000
@@ -264,7 +264,7 @@
                 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 @@
                 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 = []

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to