Raphael Collet (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-server/6.1-res_partner_address_name_search-rco into 
lp:openobject-server/6.1.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/6.1-res_partner_address_name_search-rco/+merge/98196

Make the method name_search of res.partner.address consistent with method 
name_get.
It searches on all the fields that are used in name_get in the same context.

-- 
https://code.launchpad.net/~openerp-dev/openobject-server/6.1-res_partner_address_name_search-rco/+merge/98196
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-server/6.1-res_partner_address_name_search-rco.
=== modified file 'openerp/addons/base/res/res_partner.py'
--- openerp/addons/base/res/res_partner.py	2012-01-12 10:50:43 +0000
+++ openerp/addons/base/res/res_partner.py	2012-03-19 13:26:26 +0000
@@ -349,18 +349,14 @@
             args=[]
         if not context:
             context={}
-        if context.get('contact_display', 'contact')=='partner ' or context.get('contact_display', 'contact')=='partner_address '  :
-            ids = self.search(cr, user, [('partner_id',operator,name)], limit=limit, context=context)
+        if context.get('contact_display', 'contact')=='partner':
+            fields = ['partner_id']
         else:
-            if not name:
-                ids = self.search(cr, user, args, limit=limit, context=context)
-            else:
-                ids = self.search(cr, user, [('zip','=',name)] + args, limit=limit, context=context)
-            if not ids:
-                ids = self.search(cr, user, [('city',operator,name)] + args, limit=limit, context=context)
-            if name:
-                ids += self.search(cr, user, [('name',operator,name)] + args, limit=limit, context=context)
-                ids += self.search(cr, user, [('partner_id',operator,name)] + args, limit=limit, context=context)
+            fields = ['name', 'country_id', 'city', 'street']
+            if context.get('contact_display', 'contact')=='partner_address':
+                fields.append('partner_id')
+        domain = ['|'] * (len(fields)-1) + map(lambda f: (f, operator, name), fields)
+        ids = self.search(cr, user, domain + args, limit=limit, context=context)
         return self.name_get(cr, user, ids, context=context)
 
     def get_city(self, cr, uid, id):

_______________________________________________
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