← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-server/m2o_with_selection into lp:~openerp-dev/openobject-server/trunk-dev-framework

 

Ravi Gadhia (OpenERP) has proposed merging lp:~openerp-dev/openobject-server/m2o_with_selection into lp:~openerp-dev/openobject-server/trunk-dev-framework.

Requested reviews:
  Olivier Dony (OpenERP) (odo)

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

Hello,

Improve selection field.

Now M2O field with widget="selection" no need to pre-load selection value (at time of fields_view_get) it's get value on popup by name_search and we can apply domain as like M2O field

For selection field: if it has function to get selection value it also call at field popup time

related server branch:
https://code.launchpad.net/~openerp-dev/openobject-client/m2o_with_selection
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/m2o_with_selection/+merge/49362
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-server/m2o_with_selection.
=== modified file 'openerp/osv/orm.py'
--- openerp/osv/orm.py	2011-02-08 16:49:23 +0000
+++ openerp/osv/orm.py	2011-02-11 10:21:53 +0000
@@ -1124,6 +1124,7 @@
                     else:
                         # call the 'dynamic selection' function
                         res[f]['selection'] = field_col.selection(self, cr, user, context)
+                        res[f]['has_func'] = True
                 if res[f]['type'] in ('one2many', 'many2many', 'many2one', 'one2one'):
                     res[f]['relation'] = field_col._obj
                     res[f]['domain'] = field_col._domain
@@ -1234,9 +1235,6 @@
                         search_context = dict(context)
                         if column._context and not isinstance(column._context, basestring):
                             search_context.update(column._context)
-                        attrs['selection'] = relation._name_search(cr, user, '', dom, context=search_context, limit=None, name_get_uid=1)
-                        if (node.get('required') and not int(node.get('required'))) or not column.required:
-                            attrs['selection'].append((False, ''))
                 fields[node.get('name')] = attrs
 
         elif node.tag in ('form', 'tree'):


Follow ups