diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py
index 849d1b5064b..472e4852d4c 100644
--- a/bin/addons/base/ir/ir_actions.py
+++ b/bin/addons/base/ir/ir_actions.py
@@ -192,8 +192,15 @@ class act_window(osv.osv):
return s
for act in self.browse(cr, uid, ids):
fields_from_fields_get = self.pool.get(act.res_model).fields_get(cr, uid)
+ search_view_id = False
if act.search_view_id:
- field_get = self.pool.get(act.res_model).fields_view_get(cr, uid, act.search_view_id.id, 'search', context)
+ search_view_id = act.search_view_id.id
+ else:
+ res_view = self.pool.get('ir.ui.view').search(cr, uid, [('model','=',act.res_model),('type','=','search'),('inherit_id','=',False)])
+ if res_view:
+ search_view_id = res_view[0]
+ if search_view_id:
+ field_get = self.pool.get(act.res_model).fields_view_get(cr, uid, search_view_id, 'search', context)
fields_from_fields_get.update(field_get['fields'])
field_get['fields'] = fields_from_fields_get
res[act.id] = str(field_get)
diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml
index 3eb53ff2aa7..2bec4097a4f 100644
--- a/bin/addons/base/res/partner/partner_view.xml
+++ b/bin/addons/base/res/partner/partner_view.xml
@@ -335,7 +335,8 @@
-
+
@@ -376,7 +377,8 @@
ir.actions.act_window
res.partner
form
- [('customer','=',1)]
+ []
+ {'default_customer':1}
@@ -385,8 +387,8 @@
ir.actions.act_window
res.partner
form
- [('supplier','=',1)]
- {'default_customer':0}
+ []
+ {'default_customer':0, 'default_supplier':1}