Samus CTO (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-server/trunk-widget-selection-for-boolean-plus-typeerror-cto
 into lp:openobject-server.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-widget-selection-for-boolean-plus-typeerror-cto/+merge/99059

Useful update to have a "yes or no" selection widget for booleans. So it can be 
used in search forms.
-- 
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-widget-selection-for-boolean-plus-typeerror-cto/+merge/99059
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/trunk-widget-selection-for-boolean-plus-typeerror-cto.
=== modified file 'openerp/osv/orm.py'
--- openerp/osv/orm.py	2012-03-22 16:45:40 +0000
+++ openerp/osv/orm.py	2012-03-23 16:05:37 +0000
@@ -1679,7 +1679,13 @@
                         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 isinstance(column, openerp.osv.fields.boolean):
+                            attrs['selection'] = [(0, 'No'),(1, 'Yes')]
+                        elif relation:
+                            attrs['selection'] = relation._name_search(cr, user, '', dom, context=search_context, limit=None, name_get_uid=1)
+                        else:
+                            info = self.pool.get('ir.ui.view').read(cr, 0, view_id, ['xml_id','model'])
+                            raise TypeError, "In model view %s (xml id %s), field %s:\nThe type of field %s has no implementation in a selection widget" % (info['model'], info['xml_id'], node.get('name'), str(type(column)))
                         if (node.get('required') and not int(node.get('required'))) or not column.required:
                             attrs['selection'].append((False, ''))
                 fields[node.get('name')] = attrs

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to