diff options
| author | Xavier Morel <xmo@openerp.com> | 2011-11-15 12:29:06 +0100 |
|---|---|---|
| committer | Xavier Morel <xmo@openerp.com> | 2011-11-15 12:29:06 +0100 |
| commit | e536b4ace87500f526bfcf074a51487d925368e8 (patch) | |
| tree | b27fc8ebf36e38c81cc85dafbe64f113a855ca21 /addons/web/static/src/js/data.js | |
| parent | f6b048213067ff60e9c5cf0a009595a8ea9904bc (diff) | |
[FIX] handling of groups with length 0 in ContainerDataGroup's group descriptor munger
For a group with a ${field}_count of 0, code would fallback on __count
which does not exist -> would try to set group.length to `undefined`
which leads to the property being removed from the result, blowing up
the call to `$('<td>').text(group.length)` in the listview (jQuery's
.text() apparently does not like getting `undefined` as its
parameter... who knew?)
Also make `openable` clearer, and improve style of listview in case of
an empty group (openable but length 0): remove the arrow on the left
(but leave the indent, otherwise it's ugly).
lp bug: https://launchpad.net/bugs/889807 fixed
bzr revid: xmo@openerp.com-20111115112906-e87sf40tgr8goqps
Diffstat (limited to 'addons/web/static/src/js/data.js')
| -rw-r--r-- | addons/web/static/src/js/data.js | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/addons/web/static/src/js/data.js b/addons/web/static/src/js/data.js index f4509c82a81..e783f374dce 100644 --- a/addons/web/static/src/js/data.js +++ b/addons/web/static/src/js/data.js @@ -119,17 +119,18 @@ openerp.web.ContainerDataGroup = openerp.web.DataGroup.extend( /** @lends opener aggregates[key] = value || 0; }); + var group_size = fixed_group[field_name + '_count'] || fixed_group.__count || 0; + var leaf_group = fixed_group.__context.group_by.length === 0; return { __context: fixed_group.__context, __domain: fixed_group.__domain, grouped_on: field_name, // if terminal group (or no group) and group_by_no_leaf => use group.__count - length: fixed_group[field_name + '_count'] || fixed_group.__count, + length: group_size, value: fixed_group[field_name], - - openable: !(this.context['group_by_no_leaf'] - && fixed_group.__context.group_by.length === 0), + // A group is openable if it's not a leaf in group_by_no_leaf mode + openable: !(leaf_group && this.context['group_by_no_leaf']), aggregates: aggregates }; |
