← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-client-web/listview_invisible into lp:openobject-client-web

 

sma (Open ERP) has proposed merging lp:~openerp-dev/openobject-client-web/listview_invisible into lp:openobject-client-web.

Requested reviews:
  OpenERP SA's Web Client R&D (openerp-dev-web)


- Support invisible for List view. 
- Example: <field name="journal_id" invisible="1">
- It fixed the Bug #681688.
-- 
https://code.launchpad.net/~openerp-dev/openobject-client-web/listview_invisible/+merge/43494
Your team OpenERP SA's Web Client R&D is requested to review the proposed merge of lp:~openerp-dev/openobject-client-web/listview_invisible into lp:openobject-client-web.
=== modified file 'addons/openerp/widgets/form/_form.py'
--- addons/openerp/widgets/form/_form.py	2010-12-09 14:36:14 +0000
+++ addons/openerp/widgets/form/_form.py	2010-12-13 06:16:13 +0000
@@ -616,8 +616,7 @@
         self.widget = get_widget(kind)(**attrs)
         self.validator = self.widget.validator
         self.relation = attrs.get('relation') or None
-        if self.readonly:
-            self.editable = self.readonly
+        self.editable = self.readonly
         if 'field_id' not in attrs:
             self.field_id = self.name
 

=== modified file 'addons/openerp/widgets/form/templates/hidden.mako'
--- addons/openerp/widgets/form/templates/hidden.mako	2010-10-27 09:36:11 +0000
+++ addons/openerp/widgets/form/templates/hidden.mako	2010-12-13 06:16:13 +0000
@@ -1,2 +1,2 @@
-<input type="hidden" name="${name}" class="${css_class}" readonly="${editable}"
+<input type="hidden" name="${name}" class="${css_class}" value="${value}"
     ${py.attrs(attrs, id=field_id, kind=kind, relation=relation, value=value)}/>

=== modified file 'addons/openerp/widgets/listgrid.py'
--- addons/openerp/widgets/listgrid.py	2010-12-03 10:33:14 +0000
+++ addons/openerp/widgets/listgrid.py	2010-12-13 06:16:13 +0000
@@ -203,7 +203,8 @@
         self.headers, self.hiddens, self.data, self.field_total, self.buttons = self.parse(root, fields, data)
 
         for k, v in self.field_total.items():
-            self.field_total[k][1] = self.do_sum(self.data, k)
+            if(len([test[0] for test in self.hiddens if test[0] == k])) <= 0:
+                self.field_total[k][1] = self.do_sum(self.data, k)
 
         self.columns = len(self.headers)
 
@@ -367,7 +368,6 @@
 
                     if invisible:
                         hiddens += [(name, fields[name])]
-#                        continue
 
                     if 'sum' in attrs:
                         field_total[name] = [attrs['sum'], 0.0]
@@ -375,7 +375,11 @@
                     for i, row in enumerate(data):
 
                         row_value = values[i]
-                        cell = CELLTYPES[kind](value=row_value.get(name, False), **fields[name])
+                        if invisible:
+                            cell = form.Hidden(**fields[name])
+                            cell.set_value(row_value.get(name, False))
+                        else:
+                            cell = CELLTYPES[kind](value=row_value.get(name, False), **fields[name])
 
                         for color, expr in self.colors.items():
                             try:
@@ -573,7 +577,7 @@
 
         self.btype = attrs.get('special', attrs.get('type', 'workflow'))
         self.icon = attrs.get('icon')
-
+        self.attrs = attrs.get('attrs', '{}')
         if self.icon:
             self.icon = icons.get_icon(self.icon)
 
@@ -600,6 +604,10 @@
 
         return dict(id=id, visible=visible)
 
+    def update_params(self, d):
+        super(Button, self).update_params(d)
+        d.attrs['attrs']=self.attrs
+
 
 CELLTYPES = {
         'char':Char,

=== modified file 'addons/openerp/widgets/templates/listgrid/boolean.mako'
--- addons/openerp/widgets/templates/listgrid/boolean.mako	2010-12-02 13:30:21 +0000
+++ addons/openerp/widgets/templates/listgrid/boolean.mako	2010-12-13 06:16:13 +0000
@@ -1,1 +1,1 @@
-<input type="checkbox" kind="${kind}" class="checkbox" readonly="readonly" disabled="disabled" ${py.checker(val)} value="${val}">
+<input type="checkbox" name="${name}" id="${name}" kind="${kind}" class="checkbox" readonly="readonly" disabled="disabled" ${py.checker(val)} value="${val}">

=== modified file 'addons/openerp/widgets/templates/listgrid/button.mako'
--- addons/openerp/widgets/templates/listgrid/button.mako	2010-12-02 12:14:31 +0000
+++ addons/openerp/widgets/templates/listgrid/button.mako	2010-12-13 06:16:13 +0000
@@ -1,13 +1,13 @@
 % if visible:
     % if icon:
-        <img height="16" width="16" class="listImage" src="${icon}" title="${help}" context="${ctx}" ${py.attrs(attrs)}
+        <img height="16" width="16" name="${name}" id="${name}" class="listImage" src="${icon}" title="${help}" context="${ctx}" ${py.attrs(attrs)}
             onclick="new ListView('${parent_grid}').onButtonClick('${name}', '${btype}', ${id}, '${confirm}', getNodeAttribute(this, 'context'))"/>
     % else:
-        <a class="button-b" href="javascript: void(0)" ${py.attrs(attrs, context=ctx)} title="${help}"
+        <a class="button-b" name="${name}" id="${name}" href="javascript: void(0)" ${py.attrs(attrs, context=ctx)} title="${help}"
             onclick="new ListView('${parent_grid}').onButtonClick('${name}', '${btype}', ${id}, '${confirm}', getNodeAttribute(this, 'context'))">
             ${string}
         </a>
     % endif
 % elif not icon:
-    <span>&nbsp;</span>
+    <span><img style="display:none" name="${name}" id="${name}" height="16" width="16" class="listImage" src="${icon}" title="${help}" context="${ctx}" ${py.attrs(attrs)} onclick="new ListView('${parent_grid}').onButtonClick('${name}', '${btype}', ${id}, '${confirm}', getNodeAttribute(this, 'context'))"/></span>
 % endif

=== modified file 'addons/openerp/widgets/templates/listgrid/char.mako'
--- addons/openerp/widgets/templates/listgrid/char.mako	2010-12-02 12:14:31 +0000
+++ addons/openerp/widgets/templates/listgrid/char.mako	2010-12-13 06:16:13 +0000
@@ -1,1 +1,1 @@
-<span>${text}</span>
+<span name="${name}" id="${name}" value="${value}">${text}</span>

=== modified file 'addons/openerp/widgets/templates/listgrid/listgrid.mako'
--- addons/openerp/widgets/templates/listgrid/listgrid.mako	2010-12-03 13:18:53 +0000
+++ addons/openerp/widgets/templates/listgrid/listgrid.mako	2010-12-13 06:16:13 +0000
@@ -67,6 +67,10 @@
             % endif
         </td>
     % endif
+    % for field, field_attrs in hiddens:
+        ${data[field].display()}
+    % endfor
+
     % if editable:
         <td class="grid-cell selector">
             % if not editors:


Follow ups