Merge lp:~unifield-team/unifield-web/UF_659_real_sum into lp:unifield-web

Proposed by jftempo
Status: Merged
Merged at revision: 4594
Proposed branch: lp:~unifield-team/unifield-web/UF_659_real_sum
Merge into: lp:unifield-web
Diff against target: 116 lines (+40/-4)
2 files modified
addons/openerp/widgets/listgrid.py (+33/-3)
addons/openerp/widgets/templates/listgrid/listgrid.mako (+7/-1)
To merge this branch: bzr merge lp:~unifield-team/unifield-web/UF_659_real_sum
Reviewer Review Type Date Requested Status
UniField Dev Team Pending
Review via email: mp+86970@code.launchpad.net
To post a comment you must log in.
4585. By Matthieu Dietrich <mdietrich@chloups211>

UF-659: [IMP] merge with current unifield-web

4586. By Matthieu Dietrich <mdietrich@chloups211>

UF-659: [IMP] merge with UF_536

4587. By Matthieu Dietrich <mdietrich@chloups211>

removed UF_536 for the time being

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'addons/openerp/widgets/listgrid.py'
2--- addons/openerp/widgets/listgrid.py 2011-11-28 16:19:08 +0000
3+++ addons/openerp/widgets/listgrid.py 2011-12-29 10:44:27 +0000
4@@ -41,12 +41,13 @@
5 template = "/openerp/widgets/templates/listgrid/listgrid.mako"
6 params = ['name', 'data', 'columns', 'headers', 'model', 'selectable', 'editable', 'noteditable',
7 'pageable', 'selector', 'source', 'offset', 'limit', 'show_links', 'editors', 'view_mode',
8- 'hiddens', 'edit_inline', 'field_total', 'link', 'checkbox_name', 'm2m', 'min_rows', 'string', 'o2m', 'dashboard', 'impex', 'hide_new_button', 'hide_delete_button']
9+ 'hiddens', 'edit_inline', 'field_total', 'field_real_total', 'link', 'checkbox_name', 'm2m', 'min_rows', 'string', 'o2m', 'dashboard', 'impex', 'hide_new_button', 'hide_delete_button']
10
11 member_widgets = ['pager', 'buttons', 'editors', 'concurrency_info']
12
13 pager = None
14 field_total = {}
15+ field_real_total = {}
16 editors = {}
17 hiddens = []
18 buttons = []
19@@ -207,11 +208,15 @@
20 data = kw['default_data']
21
22 self.values = copy.deepcopy(data)
23- self.headers, self.hiddens, self.data, self.field_total, self.buttons = self.parse(root, fields, data)
24+ self.headers, self.hiddens, self.data, self.field_total, self.field_real_total, self.buttons = self.parse(root, fields, data)
25
26 for k, v in self.field_total.items():
27 if(len([test[0] for test in self.hiddens if test[0] == k])) <= 0:
28 self.field_total[k][1] = self.do_sum(self.data, k)
29+
30+ for k, v in self.field_real_total.items():
31+ if(len([test[0] for test in self.hiddens if test[0] == k])) <= 0:
32+ self.field_real_total[k][1] = self.do_real_sum(self.data, k)
33
34 self.columns = len(self.headers)
35
36@@ -277,6 +282,27 @@
37 integer, digit = digits
38 return format.format_decimal(sum or 0.0, digit)
39
40+ def do_real_sum(self, data, field):
41+ sum = 0.0
42+
43+ for d in data:
44+ if d['line_type'].value != 'view':
45+ value = d[field].value
46+ sum += value
47+
48+ attrs = {}
49+ if data:
50+ d = data[0]
51+ attrs = d[field].attrs
52+
53+ digits = attrs.get('digits', (16,2))
54+ if isinstance(digits, basestring):
55+ digits = eval(digits)
56+
57+ integer, digit = digits
58+ return format.format_decimal(sum or 0.0, digit)
59+
60+
61 def display(self, value=None, **params):
62
63 # set editor values
64@@ -354,6 +380,7 @@
65 buttons = []
66
67 field_total = {}
68+ field_real_total = {}
69 values = [row.copy() for row in data]
70
71 myfields = [] # check for duplicate fields
72@@ -416,6 +443,9 @@
73
74 if 'sum' in attrs:
75 field_total[name] = [attrs['sum'], 0.0]
76+
77+ if 'real_sum' in attrs:
78+ field_real_total[name] = [attrs['real_sum'], 0.0]
79
80 for i, row in enumerate(data):
81 row_value = values[i]
82@@ -440,7 +470,7 @@
83
84 headers += [(name, fields[name])]
85
86- return headers, hiddens, data, field_total, buttons
87+ return headers, hiddens, data, field_total, field_real_total, buttons
88
89 class Char(TinyWidget):
90 template = "/openerp/widgets/templates/listgrid/char.mako"
91
92=== modified file 'addons/openerp/widgets/templates/listgrid/listgrid.mako'
93--- addons/openerp/widgets/templates/listgrid/listgrid.mako 2011-11-23 16:17:27 +0000
94+++ addons/openerp/widgets/templates/listgrid/listgrid.mako 2011-12-29 10:44:27 +0000
95@@ -278,7 +278,7 @@
96 </tr>
97 % endfor
98 </tbody>
99- % if field_total:
100+ % if field_total or field_real_total:
101 <tfoot>
102 <tr class="field_sum">
103 % if selector:
104@@ -298,6 +298,12 @@
105 <span class="sum_value_field" id="${field}">${val[1]}</span>
106 % endif
107 % endfor
108+ % elif 'real_sum' in field_attrs:
109+ % for key, val in field_real_total.items():
110+ % if field == key:
111+ <span class="sum_value_field" id="${field}">${val[1]}</span>
112+ % endif
113+ % endfor
114 % else:
115 &nbsp;
116 % endif

Subscribers

People subscribed via source and target branches

to all changes: