Merge lp:~openerp-dev/openobject-client-web/6.0-opw-596611-msh into lp:openobject-client-web

Proposed by Mohammed Shekha(Open ERP)
Status: Needs review
Proposed branch: lp:~openerp-dev/openobject-client-web/6.0-opw-596611-msh
Merge into: lp:openobject-client-web
Diff against target: 34 lines (+8/-2)
1 file modified
addons/openerp/controllers/tree.py (+8/-2)
To merge this branch: bzr merge lp:~openerp-dev/openobject-client-web/6.0-opw-596611-msh
Reviewer Review Type Date Requested Status
Xavier ALT Pending
Review via email: mp+180570@code.launchpad.net

Description of the change

Hello,

Fixed the issue of decimal not formatted according to language specification in tree view for float field.

Demo:-

1.Locale Code : en_US
2.Separator Format : [3,3,3,3,3,3,3,3]
3.Decimal Separator : . (dot)
4.Thousand Separator : , (point)

Goto Accounting -> Chart of accounts -> open chart of accounts from wizard -> tree view do not have grouping in float field value.

Thanks.

To post a comment you must log in.

Unmerged revisions

4916. By Mohammed Shekha<email address hidden>

[FIX]Fixed the issue of decimal not formatted according to language specification in tree view for float field.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'addons/openerp/controllers/tree.py'
--- addons/openerp/controllers/tree.py 2012-05-02 20:11:32 +0000
+++ addons/openerp/controllers/tree.py 2013-08-16 13:57:14 +0000
@@ -29,7 +29,7 @@
2929
30import actions30import actions
3131
32from openobject.i18n.format import format_datetime32from openobject.i18n.format import format_datetime, format_decimal
33from openobject.tools import url, expose33from openobject.tools import url, expose
3434
35from openerp.controllers import SecuredController35from openerp.controllers import SecuredController
@@ -38,7 +38,7 @@
3838
39FORMATTERS = {39FORMATTERS = {
40 'integer': lambda value, _i: '%s' % int(value),40 'integer': lambda value, _i: '%s' % int(value),
41 'float': lambda value, _i: '%.02f' % (value),41 'float': lambda value, _i: format_decimal(float(value) or 0.0, _i and _i.get('digit')),
42 'date': lambda value, _i: format_datetime(value, 'date'),42 'date': lambda value, _i: format_datetime(value, 'date'),
43 'datetime': lambda value, _i: format_datetime(value, 'datetime'),43 'datetime': lambda value, _i: format_datetime(value, 'datetime'),
44 'one2one': lambda value, _i: value[1],44 'one2one': lambda value, _i: value[1],
@@ -193,6 +193,12 @@
193 field_info = simplejson.loads(fields_info[field])193 field_info = simplejson.loads(fields_info[field])
194 if field_info.get('widget',''):194 if field_info.get('widget',''):
195 field_info['type'] = field_info['widget']195 field_info['type'] = field_info['widget']
196 if field_info.get('type') == 'float':
197 digits = field_info.get('digits', (16,2))
198 if isinstance(digits, basestring):
199 digits = eval(digits)
200 integer, digit = digits
201 field_info['digit'] = digit
196 formatter = FORMATTERS.get(field_info['type'])202 formatter = FORMATTERS.get(field_info['type'])
197 for x in result:203 for x in result:
198 if x[field] and formatter:204 if x[field] and formatter: